setthreadaffinitymask

    4熱度

    1回答

    我有一個C#項目,我必須同時訪問我的處理器的當前工作負載,並確保我在處理器的每個內核上運行一些特定的代碼。我的問題是,訪問我的處理器的工作負載似乎阻止我正確分配線程關聯掩碼。我有一些代碼在這裏,這說明了這個問題: using System; using System.Collections.Generic; using System.Linq; using System.Text; usi

    0熱度

    2回答

    在Solaris使用,processor_bind用於設置親和性的線程。你需要知道目標線程的LWPID或使用常量P_MYID來指代自己。 我有一個功能,看起來像這樣: void set_affinity(pthread_t thr, int cpu_number) { id_t lwpid = what_do_I_call_here(thr); processor_bind(

    2熱度

    1回答

    我試圖改變啓動程序內每個線程的親和力。 這是代碼。在下面的代碼中,'t'是通過pthread_create函數傳遞的參數。 cpu_set_t mask; pthread_t c; a = *((int *)t); printf(" thread no. is %d \n",a); CPU_ZERO(&mask); a =a/2 + 1;

    0熱度

    1回答

    我試圖按照this博客中的建議,並且似乎即使我將CPU設置爲只有一個MacOS核心,每個線程涉及更多時間。是否有可能使線程只能在這種操作系統上的一個處理器上運行?提前致謝。 void *th_func(void *arg); pthread_t thread; //the thread int counted = 0; void start() { int* n = (int*

    0熱度

    1回答

    在Linux上,你能確保MySQL離開一個內核嗎? (我們有一個小的Python服務器時MySQL在同一個盒子運行的可能不響應是負載下)。

    1熱度

    2回答

    我有1500個線程..我希望他們能夠在12個處理器上運行... 要做到這一點,我打電話給 SetThreadAffinityMask(GetCurrentThread(),1<<(threadnum%numprocessors)); numprocessors = 12。 是否正確使用了面罩? 它需要可擴展性,也就是說,如果我希望它只在11個處理器上運行,那麼 SetThreadAffinityM

    1熱度

    1回答

    下面的代碼不會編譯和運行,除非輸出不是我所期望的那樣。我想程序輸出 「測試:」創建線程(取決於可用的多核數)的正數,並運行在程序結束時發現了一個簡單的常規 後跟一個數字1-10。我得到的是一個輸出寫了幾個數字,但最多不會超過兩個,函數threadmain似乎並不完全在一個線程上運行,但它在某些情況下會輸出測試:012。我知道多線程會破壞輸出,但我應該在屏幕上的某個地方看到數字3,4,5,6,7,8

    4熱度

    1回答

    我WP項目,我試圖將繁重進程綁定到硬件線程(0或1)。因此,使用該庫的應用程序使用其他可用的核心。 我們可以在Windows Phone 8應用程序中設置進程親和力嗎?我無法找到關於WP8的SetProcessAffinity等文檔。

    5熱度

    2回答

    由於大多數C程序員都知道libc爲線程cpu關聯性調優(pthread_attr_setaffinity_np())提供了非可移植函數。但是,我不知道的是在實現內核模塊時如何實現這一點。任何提及或重定向到某些實例的答案都會很有幫助。

    0熱度

    1回答

    我想一個測試程序,只在CPU1運行,所以我寫這樣的 #include <iostream> #include <windows.h> int main(){ ::SetThreadAffinityMask(::GetCurrentProcess(),1); while(1) ; return 0; } ,但是當我打開任務