Java线程通信源代码中的奥秘探究

开发 后端
Java线程通信不断的使用中会有很多问题出现,有不少的人不知道如何去解决。其实我们就来看看Java线程通信的源代码。

Java线程通信在使用的时候需要我们不断学习,在学习的时候会有很多的问题存在。其实我们在源代码中就能发现其中的奥秘。因为ThreadNum和ThreadChar都有对Objecto的引用,所以你wait和notify的时候都应该同步,Java线程通信具体看如下:

 

  1. public class Test8 {  
  2. public static void main(String[] args){   
  3. Object o=new Object();   
  4. Thread n=new ThreadNum(o);   
  5. Thread c=new ThreadChar(o);   
  6. n.start();   
  7. c.start();   
  8. }   
  9. }   
  10. class ThreadNum extends Thread{   
  11. Object o;   
  12. public ThreadNum(Object o){   
  13. this.o=o;   
  14. }   
  15. public void run(){   
  16. for(int i=1;i<26;i++){   
  17. System.out.println(i);   
  18. System.out.println(++i);   
  19. try {   
  20. synchronized (this) {  
  21. this.wait();   
  22. }  
  23. } catch (InterruptedException e) {}   
  24. synchronized (this) {  
  25.  
  26. this.notify();   
  27. }  
  28. }   
  29. }   
  30. }   
  31. class ThreadChar extends Thread{   
  32. Object o;   
  33. public ThreadChar(Object o){   
  34. this.o=o;   
  35. }   
  36. public void run(){   
  37. for(char a='A';a<='Z';a++){   
  38. System.out.println(a);   
  39. synchronized (this) {  
  40.  
  41. this.notify();   
  42. }  
  43. try {   
  44. synchronized (this) {  
  45. this.wait();   
  46. }  
  47. } catch (InterruptedException e) {}   
  48. }   
  49. }   
  50. }  

以上就是对Java线程通信的详细介绍。

【编辑推荐】

  1. 使用Java多线程实现任务分发
  2. Java多线程初学者指南系列教程
  3. Java多线程优化之偏向锁原理分析
  4. Java多线程如何创建多个线程
  5. Java多线程如何解决关键字封锁问题
责任编辑:张浩 来源: 互联网
相关推荐

2009-11-11 15:29:15

ADO初始化

2010-03-17 19:06:59

Java join线程

2021-07-09 09:12:40

STL排序算法

2010-03-17 17:20:15

Java class线

2011-06-22 13:47:16

Java多线程

2010-03-17 17:54:25

java Socket

2011-06-22 13:57:54

Java多线程

2010-03-17 15:54:42

Java线程控制权

2012-09-10 09:37:41

2019-09-16 08:45:53

并发编程通信

2021-03-02 13:53:37

人工智能深度学习Google mBER

2010-03-18 15:47:07

Java创建线程

2011-05-18 10:52:51

java编码规范

2020-11-13 13:05:27

Java开发代码

2009-07-17 16:49:18

lookandfeelSwing

2010-03-19 16:51:53

Java Socket

2010-06-07 11:12:52

Hadoop-0.20

2023-11-06 07:51:24

C++线程编程

2023-11-01 07:24:16

JDK19线程

2009-04-03 08:28:39

点赞
收藏

51CTO技术栈公众号