首页   资讯  应用与安全  Web开发  数据库  编程语言  开源服务  管理信息化  IT商城   技术论坛   up
    [栏目导航]>>[主页]>>[编程语言]>>[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多线程编程经验谈]相关

相关商品
  
  273251|(正版)汽车美容经验谈-师傅经验谈
 单 价: 21.6
.
  
  1835153|(正版)姜附剂临证经验谈-2
 单 价: 31.92
.
  
  汽车养护经验谈
 单 价: 17.2
.
  
  USB SPI编程器/25系列编程器/BIOS编程器/SPI编程器/送升级软件
 单 价: 48.0
.
  
  最全VB VC++ VC# Java Delphi编程视频教程|五语言一网打尽+包邮
 单 价: 40.0
.
  
  思泰佳 G540 通用编程器 烧写器 烧录器 单片机编程器
 单 价: 210.0
.
  
  国内支持方案最全,LPT+USB编程器/多功能液晶编程器/全能型V20版
 单 价: 199.0
.
  
  钻石卖家Q宠大乐斗代刷经验等级 每天500经验 包1个月20元*4
 单 价: 20.0
.
  
  四钻信誉Q宠大乐斗代刷经验等级 每天500经验 10天8元@66
 单 价: 8.0
.

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

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

京ICP备09058017号