Advertisement
patryk

PR - LAB 1

Oct 5th, 2015
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <omp.h>
  4. #include <Windows.h>
  5.  
  6. int main() {
  7.     omp_set_num_threads(2);
  8.     int i;
  9. #pragma omp parallel
  10.     {
  11.     HANDLE thread_uchwyt=GetCurrentThread();
  12.         int th_id=omp_get_thread_num();
  13.         //otrzymanie własnego identyfikatora
  14.         DWORD_PTR mask = (1 << (th_id % 4 ));
  15.         DWORD_PTR result = SetThreadAffinityMask(thread_uchwyt,mask);
  16.         //przekazanie do systemu operacyjnego maski powinowactwa
  17.         if (result==0) printf("blad SetThreadAffnityMask \n");
  18.         else {
  19.         printf("maska poprzednia dla watku %d : %d\n",th_id,result);
  20.         printf("maska nowa dla watku %d : %d\n",th_id,SetThreadAffinityMask(
  21.         thread_uchwyt, mask ));
  22.  
  23.         for(i=0;i<6;i++)
  24.             printf("Iter:%d watek:%d\n",i, omp_get_thread_num());
  25.         }
  26.         //sprawdzenie poprawności ustlenia maski powinowactwa
  27.     }
  28.     _getch();
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement