使用轮询方式实现通信:
public class MyList {
private static int i = 0;
public int getI() {
return i;
}
public void setI(int i) {
MyList.i = i;
}
private volatile List<String> list = new ArrayList<String>();
public void add() {
list.add("elements");
}
public int size() {
return list.size();
}
}
public class ThreadA implements Runnable{
private MyList list;
public ThreadA(MyList list) {
this.list = list;
}
@Override
public void run() {
try {
for (int i = 0; i < 10; i++) {
list.add();
System.out.println(Thread.currentThread().getName()+"添加了" + (i + 1) + "个元素");
Thread.sleep(2000);
if(list.getI()!= 0){
break;
}
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public class ThreadB implements Runnable{
private MyList list;
public ThreadB(MyList list) {
this.list = list;
}
@Override
public void run() {
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStac