Re: 不相干的程式做multi-thread有幫助嗎?
※ 引述《CharArray ( char[] )》之銘言:
: 標題: [問題] 完全不相甘的程式做multi-thread有幫助嗎?
: 比方說有三個完全不相同的程式,本來是分3個process執行,
: 改用multi-thread的方式實現,對performance或memory usage有幫助嗎?
: thread雖然有resource sharin的優點,但遇完全不同的程式,這優點是否還存在?
: --
: → MOONRAKER:應該不是什麼東西混起來都會變瀨尿牛丸 59.115.209.208 11/09 09:20
: → MOONRAKER:thread的好處:共用code空間 阿既然三個 59.115.209.208 11/09 09:20
: → MOONRAKER:程式完全不同 那code空間還是跟分開三個 59.115.209.208 11/09 09:21
: → MOONRAKER:*推文容許長度太短了* 59.115.209.208 11/09 09:21
========
user space 的 multi-thread 最大的特點就是 user program
自行管理 shared space 與 thread scheduling/synchronization.
完全不相干的程式片段成為muti-thread時, 不管是輪流或多核
交錯併行, 最大的優點就是可以避免 process 切換時帶來不必要的
context switching. 但單核只有單組 processor register set 時,
仍免不了要 user program 自行進行 register save/restore 動作,
因為 cpu 內部資源還是會有共用的地方, 只是需要處理的量可以少
很多.
不相干又用不到太多相同的資源時, user program 就可針對少
數會共用到的部份, 自行決定如何透過 muti-thread 進行 scheduling
/synchronization 動作, 挑選最有利有效的時間點做事.
一般使用高階語言程式與高階API者應該不會處理的這麼細. 這已
經是類似粗放與細耕的代價/獲益問題.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.4.12
討論串 (同標題文章)