现在的位置: 首页 > 综合 > 正文

什么是多线程和与进程的比较

2012年01月25日 ⁄ 综合 ⁄ 共 336字 ⁄ 字号 评论关闭

    多线程使得系统可以在单独的进程中执行并发任务。虽然进程也可以在独立的内存空间并发执行,但生成一个新进程必须为其分配独立的地址空间,并维护其代码段、堆栈段和数据段等

这种开销是很昂贵的。另外,进程间的通信实现也不方便。在程序功能日益完善后,需要有更好的系统模型来满足要求,由此产生了线程。

    一个进程中的线程使用同样的地址空间,且共享许多资源。启动线程的时间远远小于启动进程的时间和空间。同时,线程间的切换也要比进程间切换快得多。由于使用同样的地址空间,所以线程之间的数据通信比较方便。一个进程下的线程之间可以直接使用彼此的数据。当然,这种方便性也带来一些问题,特别是同步问题

   多线程对于那些I/O受限的程序特别适用。使用多线程的一个重要目的,就是最大化CPU的资源利用

抱歉!评论已关闭.