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

作者: tas72732002 (蔥頭)   2014-10-16 14:48:17
請問一下各位大大,
假設我擁有一台雙核心伺服器, 希望可以充分利用cpu資源,
如果該程式支援multi-process, 我可以啟動至少2個process的方式,
讓兩顆cpu都有充分使用,比較疑惑的是multi-thread,
如果是multi-thread, 在單一process的前提下,
是否可以達到兩個cpu都有充分使用的效果?
所謂多核心多執行緒的程式開發, 是做到同時多顆CPU使用嗎?
另外一個問題是我比較少看到同時使用multu-process又同時使用
multi-thread的情形,請問是為什麼?
作者: x000032001 (版廢了該走了)   2014-10-16 15:46:00
選一個就好了 實際上還是作業系統調度process
作者: danny8376 (釣到一隻猴子@_@)   2014-10-16 15:52:00
只要thread有分開 OS就能調度所以multi-process multi-thread都一樣不過multi-thread 要不是green thread&沒GIL等
作者: yogi (Yogi)   2014-10-16 17:19:00
我之前用matlab寫的script, 也都只有用到一個cpu..
作者: bitlife (BIT一生)   2014-10-17 05:20:00
要注意thread有kernel支援和user space library,前者才有機會被排程到不同cpu選thread的理由是需要行程內部通訊,若使用process而又需要通訊,就變成要使用IPC(行程間通訊)
作者: carylorrk (carylorrk)   2014-10-17 17:25:00
multi-process 又 multi-thread 的情形不少見啊...

Links booklink

Contact Us: admin [ a t ] ucptt.com