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