本篇内容介绍了“Java线程通信源代码分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
其实我们在源代码中就能发现其中的奥秘。因为ThreadNum和ThreadChar都有对Objecto的引用,所以你wait和notify的时候都应该同步,Java线程通信具体看如下:
public class Test8 { public static void main(String[] args){ Object o=new Object(); Thread n=new ThreadNum(o); Thread c=new ThreadChar(o); n.start(); c.start(); } } class ThreadNum extends Thread{ Object o; public ThreadNum(Object o){ this.o=o; } public void run(){ for(int i=1;i<26;i++){ System.out.println(i); System.out.println(++i); try { synchronized (this) { this.wait(); } } catch (InterruptedException e) {} synchronized (this) { this.notify(); } } } } class ThreadChar extends Thread{ Object o; public ThreadChar(Object o){ this.o=o; } public void run(){ for(char a='A';a<='Z';a++){ System.out.println(a); synchronized (this) { this.notify(); } try { synchronized (this) { this.wait(); } } catch (InterruptedException e) {} } } }
“Java线程通信源代码分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!