[問題] 關於thread 調用問題

作者: tas72732002 (蔥頭)   2015-03-10 17:21:48
Hi, 想請問一各位大大,
最近再練習thread功能的撰寫,
請問一下thread被分配到的cpu是可以指定的嗎?
還是經由os自行分配呢?
假設我開了4個thread, 同時有4顆cpu,
想讓4顆cpu都維持高使用率, 需要去指定,能夠去指定嗎?
謝謝 ~
作者: leslieha (懂的付出才會幸福)   2015-03-10 17:28:00
4顆CPU? 4核CPU? 印象中thread沒辦法, process才有辦法
作者: PkmX (阿貓)   2015-03-10 18:05:00
如果是pthread有pthread_setaffinity_np (3)可以用_np (non-portable) 代表他是非標準的extension
作者: tas72732002 (蔥頭)   2015-03-10 18:57:00
那os不會自己分配嗎?
作者: EdisonX (卡卡獸)   2015-03-10 21:49:00
windows: SetThreadAffinityMask
作者: LiloHuang (十年一刻)   2015-03-10 21:50:00
通常不需要自己去設定,除非你要增加 cache hit rates絕大部分情況,由作業系統分配效果都已經夠好了
作者: EdisonX (卡卡獸)   2015-03-10 21:51:00
mask:一個bit代表一顆cpu,0x03就第一,二顆
作者: tas72732002 (蔥頭)   2015-03-10 22:34:00
恩恩, 了解了, 感謝各位

Links booklink

Contact Us: admin [ a t ] ucptt.com