当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

java线程学习总结[Java编程]

赞助商链接



  本文“java线程学习总结[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
什么时刻利用多线程技术,以及什么时刻避免用它,这是我们需求掌握的重要课题.骼它的主要目的是对大量任务举行有序的管理.通过量个任务的混合利用,可以更有效地操纵计算机资源,大概对用户来说显得更便利.资源均衡的经典问题是在IO等候期间若何操纵CPU.至于用户方面的便利性,最经典的问题就是如安在一个长时间的下载历程中监督并矫捷地反映一个“终止”(stop)按钮的按下.
多线程的主要缺陷包含:
(1) 等候利用同享资源时造成程序的运行速度变慢.
(2) 对线程举行管理要求的额外CPU开销.
(3) 复杂程度无意义的加大,比方用独立的线程来更新数组内每个元素的笨拙主张.
(4) 冗长的等候、浪费精神的资源竞争以及死锁等多线程症状.
线程另一个长处是它们用“轻度”履行切换(100条指令的次序)代替了“重度”进程场景切换(1000条指令).由于一个进程内的全部线程同享相同的内存空间,所以“轻度”场景切换只改变程序的履行和本地变量.而在“重度”场景切换时,一个进程的改变要求必须完好地交换内存空间.
线程处理看来好象进入了一个全新的范畴,仿佛要求我们学习一种全新的程序计划语言——大概至少学习一系列新的语言概念.由于大大都微机操作系统都供应了对线程的支持,所以程序计划语言大概库里也呈现了对线程的扩大.不管在什么情形下,触及线程的程序计划:
(1) 刚开始会让人摸不着头脑,要求改换我们传统的编程思绪;
(2) 其他语言对线程的支持看来是近似的.所以一旦掌握了线程的概念,在其他环境也不会有太大的艰难.固然对线程的支持使Java语言的复杂程度多少有些增添,但请不要责备Java.毕竟,操纵线程可以做很多有益的事情.
多个线程大概同享同一个资源(比方一个对象里的内存),这是应用线程时面对的最大的一个麻烦.必须保证多个线程不会同时试图读取和改正那个资源.这要求本领性地应用synchronized(同步)关键字.它是一个有效的工具,但必须真正掌握它,因为假如操作不当,极易呈现死锁.
除此以外,应用线程时还要注意一个非常特别的问题.由于按照Java的计划,它答应我们按照需求成立肆意数目的线程——至少理论上如此(比方,假定为一项工程方面的有限元素解析成立数以百万的线程,这对Java来说并非实际).但是,我们普通都要掌握自己成立的线程数目的上限.因为在某些情形下,大量线程会将场面变得一团糟,所以工作城市几近陷于停顿.临界点并不象对象那样可以到达几千个,而是在100以下.普通情形下,我们只成立少数几个关键线程,用它们办理某个特定的问题.这时数目的限制问题不大.但在较通例的一些计划中,这一限制确切会使我们感到束手束脚.
大家要注意线程处理中一个不是非常直观的问题.由于采取了线程“调度”机制,所以通过在run()的主循环中插入对sleep()的调用,普通都可以使自己的程序运行得更快一些.这使它对编程本领的要求非常高,分外是在更长的耽误仿佛反而能提高性能的时刻.当然,之所以会呈现这种情形,是由于在正在运行的线程预备进入“休眠”状况之前,较短的耽误大概造成“sleep()完毕”调度机制的中止.这便逼迫调度机制将此中止,并于稍后重新启动,以便它能做完自己的事情,再进入休眠状况.必须多想一想,才能意识到事情真正的麻烦程度.
本章遗漏的一件事情是一个动画例子,这是目前程序片最风行的一种利用.但是,Java JDK配套供应了办理这个问题的一整套筹划(并可播放声音),大家可到java.sun.com的演示区域下载.此外,我们完好有来由相信将来版本的Java会供应更好的动画支持——固然目前的Web涌现出了与传统方法完好差别的非Java、非程序化的很多动画筹划.假如想系统学习Java动画的工作原理,可参考《Core Java——核心Java》一书,由Cornell&Horstmann编著,Prentice-Hall于1997年出版.若欲更深化地理解线程处理,请参考《Concurrent Programming in Java——Java中的并发编程》,由Doug Lea编著,Addison-Wiseley于1997年出版;大概《Java Threads——Java线程》,Oaks&Wong编著,O'Reilly于1997年出版.
  以上是“java线程学习总结[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .