Есть ли проблема с несколькими потоками, использующими одну и ту же целочисленную ячейку памяти между pthreads в программе C без каких-либо утилит синхронизации?
Чтобы упростить проблему,
Этот псевдо-C иллюстрирует мои мысли
void thread_main(int *a) {
//wait for something to finish
//dereference 'a', make decision based on its value
}
int value = 0;
for (int i=0; i<10; i++)
pthread_create(NULL,NULL,thread_main,&value);
}
// do something
value = 1;
Я считаю, что это безопасно, поскольку целое число занимает одно слово процессора, и чтение / запись слова должно быть самой элементарной операцией, верно?