以下的类中有while(条件){}这样的语句,但是不知道空语句在这有什么作用?classshareClass{//共享类privateintn;privatebooleanflag=false;voidproduce(inti){while(flag){}n=i;f...
以下的类中有while(条件){}这样的语句,但是不知道空语句在这有什么作用?
class shareClass { // 共享类
private int n;
private boolean flag = false;
void produce(int i) {
while (flag) {}
n = i;
flag = true;
}
void get() {
while (!flag) {}
flag = false;
}
}
// 读取数据类
class Producer implements Runnable {
shareClass shc;
Producer(shareClass c) {
shc = c;
}
public void run() { // 生产者产生5个随机数
for (int i = 0; i < 5; i++)
shc.produce((int) (Math.random() * 100));
}
}
class Consumer implements Runnable {
shareClass shc;
Consumer(shareClass c) {
shc = c;
}
public void run() {
for (int i = 0; i < 5; i++)
shc.get(); // 消费者读取数据
}
}
public class TheadsCommunication {
public static void main(String args[]) {
shareClass shc = new shareClass();
Thread t1 = new Thread(new Producer(shc));
Thread t2 = new Thread(new Consumer(shc));
t1.start();
t2.start();
}
}
其实这是一个关于多线程的例子,但不太清楚while空语句在这起什么作用?
展开