2
Я пытаюсь изменить сродство каждого потока в начальной процедуре.Pthread_setaffinity_np недействительный аргумент
Вот код. В приведенном ниже коде '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;
CPU_SET(a,&mask);
c=pthread_self();
s=pthread_setaffinity_np(c,sizeof(cpu_set_t), &mask);
if (s!=0)
handle_error_en(s,"pthread_setaffinity_np");
Сходство нитей не меняется. Где я иду не так?
Вы можете заменить весь оператор switch на 'CPU_SET ((a/2 + 1), &mask);', кстати. –
Ohh Спасибо ...: P – akhil28288
Возможно, лучше, чтобы быть уверенным, что он оценивается только один раз, a = a/2 + 1; CPU_SET (a, &mask); '. –