• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
Java多线程编程经验谈
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
Java多线程编程经验谈
软件发布 Java多线程编程经验谈
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 编程技术 >> JAVA教程 >> Java多线程编程经验谈

Java多线程编程经验谈

添加时间: 2006-2-18 12:05:15  作者: JAVA教程  阅读次数:2555   来源: http://www.d9soft.com

          表现在:

  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生成可执行文件?

相关文章:

  • 六类综合布线系统施工经验小结
  • Oracle加入Grails开源计划提升Java生产力
  • Oracle开发人员JAVA存储过程
  • 用java从oracle取数
  • Oracle专家高级编程学习笔记[1]

相关软件:

  • FullJava 1.5
  • 网页特效小精灵(javatx) V2.0
  • Java Perk V6.07
  • 小颖JAVA源代码反编译超级引挚 V1.4 标准版
  • ExcelEverywhere for Java/JSP V3.4.1
  • 软件编程伴侣 4.0

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • 深入理解AbstractClass和interface
  • JBUILDERX 初体验
  • 成为编程高手的八大奥秘
  • 为什么Java中继承是有害的一
  • 为什么Java中继承是有害的二
  • 初学Java要注意什么
  • JAVA开发中的中文处理问题
  • 汉字问题深入谈
  • 为什么会排队等待?
  • Java 程序中的多线程

JAVA教程阅读排行

  • Java连接数据库实例
  • 两种Java容器类List和Set分析
  • Java多线程编程经验谈
  • Java Web Start开发指南(一)
  • 如何将JAVA生成可执行文件?
  • 成为编程高手的八大奥秘
  • Java基础教程:打包详解
  • 初学Java要注意什么
  • Java Web Start 开发指南(三)
  • Java编出一个自己的JSP日历

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • 第二章 PowerBuilder 入门之创建新...
  • VC++之List Box/Check List Box控...
  • 第一章 什么是PowerBuilder
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有