看板 Linux 關於我們 聯絡資訊
請問一下各位大大, 假設我擁有一台雙核心伺服器, 希望可以充分利用cpu資源, 如果該程式支援multi-process, 我可以啟動至少2個process的方式, 讓兩顆cpu都有充分使用,比較疑惑的是multi-thread, 如果是multi-thread, 在單一process的前提下, 是否可以達到兩個cpu都有充分使用的效果? 所謂多核心多執行緒的程式開發, 是做到同時多顆CPU使用嗎? 另外一個問題是我比較少看到同時使用multu-process又同時使用 multi-thread的情形,請問是為什麼? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.69.59.91 ※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1413442099.A.EB4.html ※ 編輯: tas72732002 (203.69.59.91), 10/16/2014 15:02:03
x000032001: 選一個就好了 實際上還是作業系統調度process 10/16 15:46
danny8376: 只要thread有分開 OS就能調度 10/16 15:52
danny8376: 所以multi-process multi-thread都一樣 10/16 15:52
danny8376: 不過multi-thread 要不是green thread&沒GIL等 10/16 15:54
yogi: 我之前用matlab寫的script, 也都只有用到一個cpu.. 10/16 17:19
bitlife: 要注意thread有kernel支援和user space library,前者才有 10/17 05:20
bitlife: 機會被排程到不同cpu 10/17 05:20
bitlife: 選thread的理由是需要行程內部通訊,若使用process而又需 10/17 05:21
bitlife: 要通訊,就變成要使用IPC(行程間通訊) 10/17 05:21
carylorrk: multi-process 又 multi-thread 的情形不少見啊... 10/17 17:25