java线程同步块设置在避免冲突
这个例子是一个模拟售票系统,有4个线程代码,4个售票窗口。当系统判断号码(选票号码)不是0,票可以出售。当线程使用同步块中的资源时,另一个线程只能等待。当多个线程共享同一资源时,只有将该资源放入同步块中,才能避免线程冲突。
公共课threadsafetest实现Runnable {
int = 10;
公共空运行(){
当(真){
同步(){
如果(数字> 0){
尝试{
(1000)thread.sleep;
} catch(异常E){
E.printStackTrace();
}
System.out.println(线程+ Num);
}如果(= = 0){
打破;
}
}
}
}
public static void main(String { } args){
threadsafetest T =新threadsafetest();
线程=新线程(t);
线程=新线程(t);
线程TC =新线程(T);
线程=新线程(t);
TA.start();
TB.start();
TC.start();
TD.start();
}
}
运行结果:
线程9
线程8
线程7
线程6
线程5
线程4
线程3
线程2
线程1
线程0