package om;
/*
*
* 六个老师,同发10000份笔记
*
* 分析:
* 由于有10000份笔记所以,即使将他们份给六个老师那循环的时间也很长.所以要使用多线程,
* 10000份笔记是共享的数据不能容易产生线程安全.所以应该为这一10000份笔记进行上同步锁
* 过程:
* 定义一个Runnable的实现类,设置一个note的字段为,在定义一个Object类型让作为同步所
* 实现run方法
* 在定义一测试类
* */
class SendNote implements Runnable {
private int note = 10000;
Object lo = new Object();
public void run() {
while (true) {
synchronized (lo) {
try {
//this.wait();
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// this.notify();
if (note > 0)
System.out.println(Thread.currentThread().getName()
+ "老师在发第" + note-- + "本笔记");
else
break;
}
}
}
}
public class NoteTh {
public static void main(String[] args) {
Runnable run=new SendNote();
new Thread(run,"赵").start();
new Thread(run,"钱").start();
new Thread(run,"孙").start();
new Thread(run,"李").start();
new Thread(run,"周").start();
new Thread(run,"吴").start();
//new Thread(new SendNote()).start();
}
} |
|