多线程
1.线程交替输出
1.1:核心原理,synchronized + notify+ wait。 先notify 后 wait。
1.2:代码
class process extends Thread{
//field
A a = null;
Thread other = null;
public void run(){
//无论谁线程先执行,都先沉默对方。并且在我原子操作未操作完成之前不能开始。
synchronized (this.a){
while (true){
a.i += 1;
System.out.println(Thread.currentThread().getName() + "-->" + a.i);
//唤醒a 沉睡自己。
a.notify();
try{a.wait();}catch(Exception e){}
}
}
1.3notify 方法是随机唤醒线程的,同时唤醒的是等待对象的线程。这个对象指的是synchronized ()里面参数的对象。它拥有对象锁。它才能进行notify 和wait 方法。wait 方法是休眠当前线程。比如两个,相当于两个线程。一台打印机。a先用了。b就要等。a用完了。打印机就
叫b打印文件。并且叫a 滚蛋。

浙公网安备 33010602011771号