介紹什麼是多執行緒(multithreading)前,先來簡單講一下什麼是執行緒。
在作業系統中會有 Program / Process / Thread 這三種東西。
好的,對 Thread 有基本理解後,來介紹什麼是多執行緒(multithreading)吧!
引用自維基百科:
多執行緒(英語:multithreading),是指從軟體或者硬體上實現多個執行緒並行執行的技術。具有多執行緒能力的電腦因有硬體支援而能夠在同一時間執行多於一個執行緒,進而提升整體處理效能。具有這種能力的系統包括對稱多處理機、多核心處理器以及晶片級多處理(Chip-level multithreading)或同時多執行緒(Simultaneous multithreading)處理器。
軟體多執行緒。即便處理器只能執行一個執行緒,作業系統也可以通過快速的在不同執行緒之間進行切換,由於時間間隔很小,來給使用者造成一種多個執行緒同時執行的假象。這樣的程式執行機制被稱為軟體多執行緒。
維基百科講得還蠻清楚的。但不知道大家還記不記得 Python 的特性,Python 就是一個軟體多執行緒
的程式語言喔!
Python 特性 - 複習傳送門
總之呢,不管是軟體或者硬體上的多執行緒,都是為了讓 CPU 能更有效率地被使用。
以上就是執行緒與多執行緒簡單介紹,下篇將講解怎麼將多執行緒的概念套用在爬蟲程式上,以及為何要使用多執行緒的原因。
[1] Wiki - 多執行緒