Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <omp.h>
- #include <Windows.h>
- int main() {
- omp_set_num_threads(2);
- int i;
- #pragma omp parallel
- {
- HANDLE thread_uchwyt=GetCurrentThread();
- int th_id=omp_get_thread_num();
- //otrzymanie własnego identyfikatora
- DWORD_PTR mask = (1 << (th_id % 4 ));
- DWORD_PTR result = SetThreadAffinityMask(thread_uchwyt,mask);
- //przekazanie do systemu operacyjnego maski powinowactwa
- if (result==0) printf("blad SetThreadAffnityMask \n");
- else {
- printf("maska poprzednia dla watku %d : %d\n",th_id,result);
- printf("maska nowa dla watku %d : %d\n",th_id,SetThreadAffinityMask(
- thread_uchwyt, mask ));
- for(i=0;i<6;i++)
- printf("Iter:%d watek:%d\n",i, omp_get_thread_num());
- }
- //sprawdzenie poprawności ustlenia maski powinowactwa
- }
- _getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement