您的位置:软件 > 开发者网络 > 开发工具 > Java > 正文
实战Java多线程编程之不提倡的方法
[文章信息]
作者:zaowei21
时间:2005-01-26
出处:csdnblog
责任编辑:方舟
[文章导读]
不提倡使用的方法是为支持向后兼容性而保留的那些方法,它们在以后的版本中可能出现,也可能不出现
advertisement
热点推荐
· 如何防止ASP木马在服务器上运行
· Painter绘制风格漫画:奥尼尔
· 1月25日软件精选 ZoneNet时钟应用技巧
· 用EasyBoot轻松做启动光盘
· QQ新尾巴病毒手动清除记
[正文]
  不提倡使用的方法是为支持向后兼容性而保留的那些方法,它们在以后的版本中可能出现,也可能不出现。Java 多线程支持在版本 1.1 和版本 1.2 中做了重大修订,stop()、suspend() 和 resume() 函数已不提倡使用。这些函数在 JVM 中可能引入微妙的错误。虽然函数名可能听起来很诱人,但请抵制诱惑不要使用它们。

  调试线程化的程序

  在线程化的程序中,可能发生的某些常见而讨厌的情况是死锁、活锁、内存损坏和资源耗尽。

  死锁

  死锁可能是多线程程序最常见的问题。当一个线程需要一个资源而另一个线程持有该资源的锁时,就会发生死锁。这种情况通常很难检测。但是,解决方案却相当好:在所有的线程中按相同的次序获取所有资源锁。例如,如果有四个资源 —A、B、C 和 D — 并且一个线程可能要获取四个资源中任何一个资源的锁,则请确保在获取对 B 的锁之前首先获取对 A 的锁,依此类推。如果“线程 1”希望获取对 B 和 C 的锁,而“线程 2”获取了 A、C 和 D 的锁,则这一技术可能导致阻塞,但它永远不会在这四个锁上造成死锁。

  活锁

  当一个线程忙于接受新任务以致它永远没有机会完成任何任务时,就会发生活锁。这个线程最终将超出缓冲区并导致程序崩溃。试想一个秘书需要录入一封信,但她一直在忙于接电话,所以这封信永远不会被录入。

  内存损坏

  如果明智地使用 synchronized 关键字,则完全可以避免内存错误这种气死人的问题。

  资源耗尽

  某些系统资源是有限的,如文件描述符。多线程程序可能耗尽资源,因为每个线程都可能希望有一个这样的资源。如果线程数相当大,或者某个资源的侯选线程数远远超过了可用的资源数,则最好使用 资源池。一个最好的示例是数据库连接池。只要线程需要使用一个数据库连接,它就从池中取出一个,使用以后再将它返回池中。资源池也称为 资源库。

  调试大量的线程

  有时一个程序因为有大量的线程在运行而极难调试。在这种情况下,下面的这个类可能会派上用场:

public class Probe extends Thread {
public Probe() {}
public void run() {

 while(true) {
  Thread[] x = new Thread[100];
  Thread.enumerate(x);

  for(int i=0; i<100; i++) {
   Thread t = x[i];
   if(t == null)
    break;
   else
    System.out.println(t.getName() + "\t" + t.getPriority()
+ "\t" + t.isAlive() + "\t" + t.isDaemon());
  }
 }
}
}

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • Eclipse快速上手指南之使用CVS
  • JDBC连接数据库经验技巧集萃
  • Spring 编程入门十大问题解答
  • 深入浅出基于Java的建造设计模式
  • 软件体系架构模式在J2EE中的应用
  • 美公司起诉戴尔明基等24厂商侵犯LCD屏专利
  • 收购IBM交易或受阻 联想反逆市大涨7.4%
  • 新迅驰上市笔记本电脑狂降价 最高达4000元
  • 英特尔选错迅驰2代生日 厂商采取观望态度
  • 与IBM交易遭美政府调查 联想称将全力配合
  • 铁通今年资金需求140亿 发展方向仍扑朔迷离
  • 三星中国闪电换帅 在中国策略可能大调整
  • 纽曼mp3功能名不符实 厂家称“以实物为准”
  • Advertisement

    天极无线


    奇妙科幻|美好风光|清风车影|漫画卡通|星座生肖|明星写真|动物世界
    温馨祝福|极品爆笑|生肖属相|StarQ|体育竞技|美好风光|每逢佳节
    老鼠爱大米
    挥着翅膀的女孩
    女人味
    栀子花开
    白月光
    刚刚好
    江南
    快乐崇拜
    亲爱的你怎么不在我身边
    小薇
    2002年的第一场雪
    有多少爱可以重来
    我的地盘
    七里香
    情人
     
    老鼠爱大米 冲动的惩罚
    最熟悉的陌生人 绿光
    可爱女人 盛夏的果实
    当你孤单你会想起谁 孤单北半球
    2002年的第一场雪 眉飞色舞
    有多少爱可以重来 挪威的森林
    最浪漫的事 老板电话

    CSEEK搜索