<b>Java多线程编程实战之底子</b>[Java编程]
本文“<b>Java多线程编程实战之底子</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在 Java 程序中利用多线程要比在 C 或 C++ 中简单得多,这是因为 Java 编程语言供应了语言级的支持.本文通过简单的编程示例来阐明 Java 程序中的多线程是多么直观.读完本文今后,用户应当可以编写简单的多线程程序.
为什么会列队等候?
下面的这个简单的 Java 程序完成四项不相关的任务.这样的程序有单个掌握线程,掌握在这四个任务之间线性地移动.此外,因为所需的资源 — 打印机、磁盘、数据库和显示屏 -- 由于硬件和软件的限制都有内涵的暗藏时间,所以每项任务都包含明显的等候时间.因此,程序在拜候数据库之前必须等候打印机完成打印文件的任务,等等.假如您正在等候程序的完成,则这是对计算资源和您的时间的一种拙劣利用.改良此程序的一种办法是使它成为多线程的. 四项不相关的任务
class myclass {
static public void main(String args[]) {
print_a_file();
manipulate_another_file();
access_database();
draw_picture_on_screen();
}
}
在本例中,每项任务在开始之前必须等候前一项任务完成,即便所触及的任务毫不相关也是这样.但是,在实际生活中,我们常常利用多线程模子.我们在处理某些任务的同时也可以让孩子、配偶和父母完成别的任务.比方,我在写信的同时大概打发我的儿子去邮局买邮票.用软件术语来说,这称为多个掌握(或履行)线程. 可以用两种差别的办法来得到多个掌握线程:
多个进程
在大大都操作系统中都可以成立多个进程.当一个程序启动时,它可认为行将开始的每项任务成立一个进程,并答应它们同时运行.当一个程序因等候网络拜候或用户输入而被阻塞时,另一个程序还可以运行,这样就增添了资源操纵率.但是,按照这种方法成立每个进程要付出一定的代价:设置一个进程要占用相当一部份处理器时间和内存资源.并且,大大都操作系统不答应进程拜候其他进程的内存空间.因此,进程间的通信很不便利,并且也不会将它自己供应应简单的编程模子.
线程
线程也称为轻型进程 (LWP).因为线程只能在单个进程的作用域内活动,所以成立线程比成立进程要便宜得多.这样,因为线程答应合作和数据交换,并且在计算资源方面非常便宜,所以线程比进程更可取.线程需求操作系统的支持,因此不是全部的机械都供应线程.Java 编程语言,作为相当新的一种语言,已将线程支持与语言本身合为一体,这样就对线程供应了健旺的支持.
以上是“<b>Java多线程编程实战之底子</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |