首先,我们都知道可以通过实现Runnable,来进行资源共享
public class Runnabl_Test implements Runnable {
int ticket = 10;
public void run() {
for (int i = 0; i < 10; i++) {
if (ticket > 0) {
System.out.println(Thread.currentThread().getName() + " " + ticket--);
}
}
}
public static void main(String[] args) {
Runnabl_Test rt = new Runnabl_Test();
Thread thread = new Thread(rt);
Thread thread2 = new Thread(rt);
thread.setName("A");
thread2.setName("B");
thread.start();
thread2.start();
}
}
输出结果:
从结果可以看出,资源是进行共享的。
但是这种操作其实是有问题的,如果经过多次测试,就会可能出现下面的情况
将count--操作的位置改变一下就行