首页   资讯  应用与安全  Web开发  数据库  编程语言  开源服务  管理信息化  商城   技术论坛   
    [栏目导航]>>[主页]>>[编程语言]>>[Java]>>[阅读信息]
 [关闭

Java多线程编程经验谈

发布时间:2008-09-13 09:37:06   点评:0   人气:62 

     表现在:

  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多线程编程经验谈]相关

相关商品
  
  USB SPI BIOS编程器 SPI FLASH编程器 en25t80编程器 主板编程器
 单 价: 65.0
.
  
  spi flash编程器 BIOS编程器 DVD编程器 支持EN25T80
 单 价: 62.9
.
  
  MINI-Z USB接口 51单片机编程器 51烧写器 51编程器 单片机烧写器
 单 价: 85.0
.
  
  实体店Intel/P4 3.0C/478/512K/800MHz 超线程 一年包换
 单 价: 118.0
.
  
  51单片机开发板,DIY实验板,51编程器,单片机烧录器.单片机编程器
 单 价: 62.0
.
  
  实体店 P4 3.0E 478pin 1M 800MHz 超线程 超低价 一年包换
 单 价: 120.0
.
  
  【冲四冠】店主多年经验调配【花飞语】养颜紧肤活力茶---花香
 单 价: 20.0
.
  
  【冲4冠】店主多年经验调配【花飞语】清火明目抗辐射---清茶
 单 价: 20.0
.
  
  老中医30年经验战痘神一号去痘精华液先使用后确认无效退款
 单 价: 50.0
.

与[Java多线程编程经验谈]相邻的Java

   上一条:  Java基础教程:打包详解
   下一条:  如何将JAVA生成可执行文件?
点评(0)  表扬 赞成 补充 纠正 否定 提醒 举报     笔名:
[提交]

京ICP备09058017号

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263findaofinddfw