[問題] 關於多執行緒疑問

看板Linux作者 (蔥頭)時間11年前 (2014/10/16 14:48), 11年前編輯推噓1(109)
留言10則, 5人參與, 最新討論串1/1
請問一下各位大大, 假設我擁有一台雙核心伺服器, 希望可以充分利用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

10/16 15:46, , 1F
選一個就好了 實際上還是作業系統調度process
10/16 15:46, 1F

10/16 15:52, , 2F
只要thread有分開 OS就能調度
10/16 15:52, 2F

10/16 15:52, , 3F
所以multi-process multi-thread都一樣
10/16 15:52, 3F

10/16 15:54, , 4F
不過multi-thread 要不是green thread&沒GIL等
10/16 15:54, 4F

10/16 17:19, , 5F
我之前用matlab寫的script, 也都只有用到一個cpu..
10/16 17:19, 5F

10/17 05:20, , 6F
要注意thread有kernel支援和user space library,前者才有
10/17 05:20, 6F

10/17 05:20, , 7F
機會被排程到不同cpu
10/17 05:20, 7F

10/17 05:21, , 8F
選thread的理由是需要行程內部通訊,若使用process而又需
10/17 05:21, 8F

10/17 05:21, , 9F
要通訊,就變成要使用IPC(行程間通訊)
10/17 05:21, 9F

10/17 17:25, , 10F
multi-process 又 multi-thread 的情形不少見啊...
10/17 17:25, 10F
文章代碼(AID): #1KFsepwq (Linux)
文章代碼(AID): #1KFsepwq (Linux)