Pthread同步问题

时间:2014-07-22 13:38:36

标签: c pthreads

如果所有线程都读取了一个全局变量,该变量在创建线程之前由main()分配了一个值。我们需要任何Mutex进行同步吗?

3 个答案:

答案 0 :(得分:1)

用于读取变量:no

写入和读取变量:是

答案 1 :(得分:1)

没有

当多个线程访问内存位置(通过非原子值)并且至少有一个访问是写入且操作未被排序时,就会发生数据竞争。

由于线程创建是一个同步点,所以在创建线程之后的所有访问都是在初始写访问之后排序的,而后面的访问只是读取。所以没有种族。

答案 2 :(得分:0)

如果任何线程想要更​​改全局变量的值然后是,则需要一个新的互斥锁。否则不需要同步。