參考這篇文章
**如下:
#define _gnu_source#include#include
#include
#include
#include
#include
void *myfun(void *arg)
cpu_zero(&get
);
if (pthread_getaffinity_np(pthread_self(), sizeof(get), &get) < 0
)
for (j = 0; j < num; j++)
}j = 0
;
while (j++ < 100000000
) }
pthread_exit(null);
}int main(int argc, char *ar**)
pthread_join(tid, null);
return0;
}
這段**將使myfun執行緒在所有cpu中依次執行一段時間,在我的四核cpu上,執行結果為
:system has 4 processor(s)
thread 1095604544 is running in processor 0
thread 1095604544 is running in processor 1
thread 1095604544 is running in processor 2
thread 1095604544 is running in processor 3
在一些嵌入式裝置中,執行的程序執行緒比較單一,如果指定程序執行緒執行於特定的cpu核,減少程序、執行緒的核間切換,有可能可以獲得更高的效能。
cpu執行緒 cpu處理器多執行緒有什麼用
電腦cpu處理器多執行緒有什麼用 執行緒是cpu排程和分配的基本單位。多執行緒決定了cpu單個核心下可以同時處理多少任務而互不干擾。cpu的多執行緒技術可以為運算核心準備更多的待處理資料,減少運算核心的閒置時間,解決了負載均衡問題,充分利用cpu資源,提高cpu的使用率。多執行緒的好處 1 使用多執...
CPU處理器架構
系統有x64,x86與ia 64三種版本之分,分別用於不同的cpu。較老的cpu只能安裝x86版的系統,也就是我們常見的32位系統。因為微軟的緣故,32位系統在過去的很長一段時間內,佔據著桌面計算機的主流地位。64位系統能夠在較新的x86 64架構的cpu上執行。而ia 64則只能執行於intel的...
多執行緒程式設計之執行緒繫結處理器核
出處 linux系統提供api函式sched setaffinity和sched getaffinity用於設定或獲取執行緒的可以使用的cpu核。int sched setaffinity pid t pid,unsigned int cpusetsize,cpu set t mask 這個函式中p...