用java线程获取优异性能(i)
jeff friesen 著 刘建华 编译 【程序编程相关:sunday,august 29,200】——介绍线程.线程类及runnable 【推荐阅读:gmail优缺点】 摘要 用户期望程序能展现优异的性能.为了满足这个期望,你的程序常常使用到线程.在这篇文章中我们开始练习使用线程.你将学习到线程.线程类及runnable. 用户不喜欢反应迟钝的软件.当用户单击一个鼠标时,他们希望程序立即回应他们的请求,即使程序正处于费时的运行之中,比如为一篇很长的文档重编页码或等待一个网络操作的完成.对用户响应很慢的程序其性能拙劣.为提高程序性能,开发者一般使用线程. 这篇文章是探索线程的第一部份.虽然你可能认为线程是一种难于掌握的事物,但我打算向你显示线程是易于理解的.在这篇文章中,我将向你介绍线程与线程类,以及讨论runnable.此外,在后面的文章中,我将探索同步(通过锁),同步的问题(比如死锁),等待/通知机制,时序安排(有优先权与没有优先权),线程中断,计时器,挥发性,线程组与线程本地变量. 阅读关于线程设计的整个系列: ·第1部份:介绍线程与线程类,以及runnable ·第2部份:使用同步使线程串行化访问关键代码部份 注意 这篇文章及其应用程序的三个相关线程练习与applets不同.然而,我在应用程序中介绍的多数应用到applets.主要不同的是:为了安全的原因,不是所有的线程操作都可以放到一个applet中(我将在以后的文章中讨论applets). 什么是线程? 线程的概念并不难于掌握:它是程序代码的一个独立的执行通道.当多个线程执行时,经由相同代码的一个线程的通道通常与其它的不同.例如,假设一个线程执行一段相当于一个if-else语句的if部分的字节代码时,而另一个线程正执行相当于else部分的字节代码.jvm怎样保持对于每一个线程执行的跟踪呢?jvm给每一个线程它自己的方法调用堆栈.另外跟踪当前指令字节代码,方法堆栈跟踪本地变量,jvm传递给一个方法的参数,以及方法的返回值. 当多个线程在同一个程序中执行字节代码序列时,这种行为叫作多线程.多线程在多方面有利于程序: ·当执行其它任务时多线程gui(图形用户界面)程序仍能保持对用户的响应,比如重编页码或打印一个文档. ·带线程的程序一般比它们没有带线程的副本程序完成得快.... 下一页