一、等待/通知机制
1. 不使用等待/通知机制实现线程间通信
使用sleep()和while(true)死循环来实现多个线程间通信
package multiThread;
import java.util.ArrayList;
import java.util.List;
/**
* @author chengzhengda
* @version 1.0
* @date 2020-02-23 15:57
* @desc
*/
public class MyList {
private List list = new ArrayList();
public void add() {
list.add("dada");
}
public int size() {
return list.size();
}
}
package multiThread;
/**
* @author chengzhengda
* @version 1.0
* @date 2020-02-23 15:59
* @desc
*/
public class ThreadA extends Thread {
private MyList myList;
public ThreadA(MyList myList) {
super();
this.myList = myList;
}
@Override
public void run() {
try {
while (true) {
System.out.println("aaa");
if (myList.size() == 5) {
System.out.println("==5了,线程B要退出了!");
throw new InterruptedException();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package multiThread;
/**
* @author chengzhengda
* @version 1.0
* @date 2020-02-23 16:04
* @desc
*/
public class ThreadB extends Thread {
private MyList myList;
public ThreadB(MyList myList) {
super();
this.myList = myList;
}
@Override
public void run() {
try {
for (int i = 0; i < 10; i++) {
myList.