我从main调用了pthread(假设10个线程),并希望在1个线程中访问所有那些pthreads(来自其余9个)的本地数据,这些pthreads与第1个线程同时运行。首先,我需要检查当时哪些线程处于活动状态,然后访问其本地数据。有什么方法可以用C ++做到这一点吗?
答案 0 :(得分:1)
您应该使用互斥锁来阻止多个线程同时访问数据。
线程没有本地数据。线程所属的进程将这些数据存储器页分配给它。所有线程都可以自由访问进程内的任何内存部分。现在,如果多个线程同时访问数据结构,则可能会出现问题。这就是需要同步的原因。