疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

多线程的优势—[疯狂java讲义]


 

 
        线程在程序中是独立的、并发的执行流,但是,与分隔的进程相酝进程中的线程之间的隔离程度要小。它们共享内存、文件句柄和其他每个进程应有的状态。
 
        因为线程的划分尺度小于进程,使得多线程程序的并发性高。进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
 
        线程比进程具有更高的性能,这是由于同一个进程中的线程都有共性:多个线程将共享同一个进程虚拟空间。线程共享的环境包括:进程代码段、进程的公有数据等。利用这些共享的数据等,线程很容易实现相互之间的通信。
 
        当操作系统创建一个进程时,必须为该进程分配独立的内存空间,并分配大量相关资源;但创建一个线程则简单得多,因此使用多线程来实现并发比使用多进程实现并发的性能要高得多。
 
总结起来,使用多线程编程包含如下几个优点:
 
1、进程间不能共享内存,但线程之间共享内存非常容易。
 
2、系统创建进程需要为该进程重新分配系统资源,但创建线程则代价小得多,因此使用多线程来实现多任务并发比多进程的效率高。
 
3、Java语言内置多线程功能支持,而不是单纯地作为底层操作系统的调度方式,从而简化了Java的多线程编挥·
 
        在实际应用中,多线程是非常有用的,一个浏览器必须能同时下载多个图片;一个Web服务器必须能同时响应多个用户请求;Java虚拟机本身就在后台提供了一个超级线程来进行垃圾回收;图形用户界面应用(GUI)也需要启动单独的线程来从主机环境收集用户界面事件……总之,多线程在实际编程中的应用是非常广泛的。(摘自[疯狂java讲义])