Java多线程编程经验谈[Java编程]
本文“Java多线程编程经验谈[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
不管我是多么喜好JAVA但是,从实际开辟角度讲,Java的多线程确切没有C++好使.
表目前:
1.Java没有全局变量;
2.Java 的线程之间的通信对比差,C++供应了多种通信方法;
3.Java的数据同步是通过synchronized来实现,但是基本上等于交给了虚拟机来完成,而C++有很多种:临界区、互斥体等.
4. Java的多线程run办法没有返回值,因此若何能得到子线程的反馈信息,确切令人头疼.
5.Java的多线程是合作式,这样等于操作系统放弃了对线程的掌握;
这里谈谈我在java多线程中的编写经验:
1.成立thread时,将主控类大概叫做调用类传入构造函数中,比方:
Class A调用Class B,Class A作为Class B构造函数的参数.
这样再成立一个子线程时,用一样的方法实现,这样主控类的实例变量便可以作为全局变量,当然要注意同步.
2. 类同步中wait(),notify()一定要考虑好逻辑,不然有大概造成阻塞.
3. 假如多个线程调用大概目前不是很清楚有多少个线程举行通信,最好的办法是自己实现一个listener,然后调用类调用Listener的一个实例办法举行通信.
工作原理:
1) Listener接口供应同步办法 比方SynData();
2) 同步线程供应增添和删除Listener的办法,同时在线程中对注册Listener的类举行轮畅告诉;
3) 利用给同步数据的线程类,担当Listener接口,实现其办法,将本线程行将完毕的数据发送到同步线程中;
其实这个原理来自于Java Swing技术.
由于时间关系,本日就谈到这里,但愿能举一反三!!请大家多多指教!
以上是“Java多线程编程经验谈[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |