Java线程通信在使用的时候需要我们不断学习在学习的时候会有很多的问题存在其实我们在源代码中就能发现其中的奥秘因为ThreadNum和ThreadChar都有对Objecto的引用所以你wait和notify的时候都应该同步Java线程通信具体看如下
public class Test {
public static void main(String[] args){
Object o=new Object();
Thread n=new ThreadNum(o);
Thread c=new ThreadChar(o);
nstart();
cstart();
}
}
class ThreadNum extends Thread{
Object o;
public ThreadNum(Object o){
thiso=o;
}
public void run(){
for(int i=;i<;i++){
Systemoutprintln(i);
Systemoutprintln(++i);
try {
synchronized (this) {
thiswait();
}
} catch (InterruptedException e) {}
synchronized (this) {
thisnotify();
}
}
}
}
class ThreadChar extends Thread{
Object o;
public ThreadChar(Object o){
thiso=o;
}
public void run(){
for(char a=A;a<=Z;a++){
Systemoutprintln(a);
synchronized (this) {
thisnotify();
}
try {
synchronized (this) {
thiswait();
}
} catch (InterruptedException e) {}
}
}
}
以上就是对Java线程通信的详细介绍