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