当前位置: 技术问答>linux和unix
Linux多线程
来源: 互联网 发布时间:2017-05-26
本文导语: 1.A线程创建了一个void* p = maclloc(....); 2.A线程将p作为参数传给B线程(假设无法在B线程中对p做拷贝) 3. B线程对p参数进行读写(此期间A线程不会对P进行读写) 4. 等B线程操作结束后,通知A线程,然后A线程将P释放。 ...
1.A线程创建了一个void* p = maclloc(....);
2.A线程将p作为参数传给B线程(假设无法在B线程中对p做拷贝)
3. B线程对p参数进行读写(此期间A线程不会对P进行读写)
4. 等B线程操作结束后,通知A线程,然后A线程将P释放。
从多线程的角度,因为不会同时读写,所以不要加锁
请问从代码风格上还需要对p进行加锁操作???
2.A线程将p作为参数传给B线程(假设无法在B线程中对p做拷贝)
3. B线程对p参数进行读写(此期间A线程不会对P进行读写)
4. 等B线程操作结束后,通知A线程,然后A线程将P释放。
从多线程的角度,因为不会同时读写,所以不要加锁
请问从代码风格上还需要对p进行加锁操作???
|
我觉得2个线程可以使用信号量同步,不需要加锁