多线程

维基百科,自由的百科全书

跳转到: 导航, 搜索
一個行程(process)含有兩個執行緒(threads)的執行
一個行程(process)含有兩個執行緒(threads)的執行

多线程是指从软件或者硬件上实现多个任务并发执行的技术。

软件多线程。即便处理器只能运行一个线程操作系统也可以通过快速的在不同线程之间进行切换,由于时间间隔很小,来给用户造成一种多个线程同时运行的假象。这样的程序运行机制被称为软件多线程。如微軟的Windows作業系統和Linux就是在各個不同的執行緒間來回切換,被稱為單人多工作業系統。而DOS這類文字介面作業系統在一個時間只能處理一項工作,被視為單人單工作業系統。

除此之外,许多系统及处理器也支持硬件多线程技术对称多处理机(SMP)系统具有多个处理器,所以具有真正的同时执行多个线程的能力;CMP技术通过在一块芯片上集成多个核心(Core)也具有真正的多线程能力;CMT技术则稍有不同,有的是依靠硬件执行线程切换来获得多线程能力,操作系统不再负责线程切换,因而这部分开销可以减少甚至消除,这方面典型的例子是SunUltraSPARC T1,它同时综合了CMP和CMT。微軟Windows 2000以後的作業系統皆支援多執行緒與超執行緒技術。


个人工具