code
fromthreading import thread
from
multiprocessing import process
import os
def work(name):
print(
'{}的pid是
'.format(name), os.getpid())
if __name__ == '
__main__':
# part1:在主程序下開啟多個執行緒,每個執行緒都跟主程序的pid一樣
t1 = thread(target=work,args=("
thread1
",))
t2 = thread(target=work,args=("
thread2
",))
t1.start()
t2.start()
print(
'主線程/主程序pid
', os.getpid())
# part2:開多個程序,每個程序都有不同的pid
p1 = process(target=work,args=("
progress1
",))
p2 = process(target=work,args=("
progress2
",))
p1.start()
p2.start()
print(
'主線程/主程序pid
', os.getpid())
outputs
macname@macdemacbook-pro py %python3 cccccc.pythread1的pid是
78870
thread2的pid是
78870
主線程/主程序pid 78870
主線程/主程序pid 78870
progress1的pid是
78871
progress2的pid是
78872
macname@macdemacbook-pro py %
Linux多程序與多執行緒的深度比較
嵌入式 linux中文站,關於多程序和多執行緒,教科書上最經典的一句話是 程序是資源分配的最小單位,執行緒是cpu排程的最小單位 這句話應付考試基本上夠了,但如果在工作中遇到類似的選擇問題,那就沒有那麼簡單了,選的不好,會讓你深受其害。經常在網路上看到有xdjm問 多程序好還是多執行緒好?linux...
多執行緒與多程序
程序 程序是程式的一次執行,在傳統的計算機中,程序既是基本的分配單元,也是基本的執行單元。執行緒 執行緒是可執行的實體單元,它是處理機排程的基本單位。由於執行緒在同一位址空間,因此建立和撤銷執行緒的開銷小,執行緒間的通訊效率高,切換迅速。在多處理機系統中,對程序的個數有所限制,但對執行緒的個數不存在...
多執行緒與多程序
魚還是熊掌 多程序多執行緒的選擇 關於多程序和多執行緒,教科書上最經典的一句話是 程序是資源分配的最小單位,執行緒是cpu排程的最小單位 這句話應付考試基本上夠了,但如果在工作中遇到類似的選擇問題,那就沒有這麼簡單了,選的不好,會讓你深受其害。經常在網路上看到有的xdjm問 多程序好還是多執行緒好?...