2021年4月17日 星期六

Process, Thread, Task and ThreadPool

Process (行程)是程式正在執行的實體

一個 Process 會有一個或多個 Thread (執行緒)


程式語言就是在描述流程

thread 就像是流程目前執行的位置,也可以視作工作的執行者

一般程式執行是 single thread 的,會依程式描述依序執行

也會有 multi thread 程式


Task (任務)是一段可能延遲執行的工作(work),用來產生結果值或是特定的作用。

Thread 則是 Task 的執行者 (worker)


ThreadPool 是 Thread 的集合

有 Task 要執行時會從中分配 Thread 來執行,執行完之後則會還回 Pool

比起產生 Thread 實體,可能從 ThreadPool 啟用 Thread 較可避免建立過多 Thread


System.Diagnostics                 操作 Process 

System.Threading                   操作 Thread

System.Threading.Tasks         操作 Task

沒有留言:

張貼留言