一個Process,可以被程式設計師開出多個Thread
同一個process內的Threads可以共享Code、Data Section及OS Resources
一個Thread 就是一個小型的 Process ,
若我們把 Process 分為兩個部份-----Threads 和 Resources,
Threads 就是這個 Process 的動態執行者(Dynamic Object)
附上Process和Thread的差別
The major difference between threads and processes is 1.Threads share the address space of the process that created it;
processes have their own address. 2.Threads have direct access to the data segment of its process;
processes have their own copy of the data segment of the parent process. 3.Threads can directly communicate with other threads of its process;
processes must use interprocess communication to communicate with sibling processes. 4.Threads have almost no overhead; processes have considerable overhead. 5.New threads are easily created; new processes require duplication of the parent process. 6.Threads can exercise considerable control over threads of the same process;
processes can only exercise control over child processes. 7.Changes to the main thread (cancellation, priority change, etc.)
may affect the behavior of the other threads of the process;
changes to the parent process does not affect child processes.
No comments:
Post a Comment