java 多线程
java吧
全部回复
仅看楼主
level 5
class Book implements Runnable{
private int title=5;
@Override
public void run() {
for (int i=0;i<20;i++){
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (title>0){
System.out.println(Thread.currentThread().getName()+"卖票"+this.title--);
}
}
}
}
public class TestDemo {
public static void main(String[] args) throws Exception{
Book book=new Book();
new Thread(book,"A").start();
new Thread(book,"B").start();
new Thread(book,"C").start();
new Thread(book,"D").start();
}
}
为什么java多线程中 在run方法中可以循环设置一个循环体,让多个线程可以循环执行,不应该是A,B,C,D
四个线程,当其中一个获得cpu时间片的时候执行run方法,执行完了后再换另一个线程再去执行run方法吗
2018年02月10日 02点02分 1
level 5
来一个大佬拯救下啊 ,嘤嘤嘤。 。 。。 [乖]
2018年02月10日 02点02分 2
level 6
用synchronized 锁定就行
2018年02月10日 02点02分 3
level 6
不然其他线程可能会打断当前线程
2018年02月10日 02点02分 4
在多线程中这个run方法只被最先执行的线程调用一次吗
2018年02月10日 02点02分
level 6
去看看线程同步就了解了
2018年02月10日 02点02分 5
哦,
2018年02月10日 02点02分
1