2009年6月14日 星期日

thread

Thread 就是 Lightweight process

一個Thread 就是一個小型的 Process ,若我們把 Process 分為兩個部份----- Threads 和 Resources,Threads 就是這個 Process 的動態執行者(Dynamic Object),而每一個 Thread 的開頭就是這個程式的一個 Control Point. 因為同屬一個Process,所以 Thread 的 context switch 不同於Process 的 context switch,因為後者必須做 Address space 的置換(很費時). 傳統的 UNIX Process 就是一個 單一 Thread 的 Process. 而另外也有 Multithread in uniproceeor and on multiprocessors. 而因為一個 Thread 是一個小型的 Process, 所以它必須有自己的 PC (Program Counter), Stack 和 Register Set, 以儲存被 context switch 時, 相關 registers 的內容.

沒有留言:

張貼留言