¿Se puede compartir un entero entre hilos de forma segura?

¿Hay algún problema con varios subprocesos que usan la misma ubicación de memoria entera entre pthreads en un programa C sin ninguna utilidad de sincronización?

Para simplificar el problema,

Solo un hilo escribirá al enteroMúltiples hilos leerán el entero

Este pseudo-C ilustra lo que estoy pensando

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;

Supongo que es seguro, ya que un número entero ocupa una palabra del procesador, y la lectura / escritura de una palabra debería ser la más atómica de las operaciones, ¿verdad?

Respuestas a la pregunta(7)

Su respuesta a la pregunta