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
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方法吗