0

我正在使用 pthread 库用 C 语言编写一个小软件。我有一堆线程需要对包含动态允许的字符数组的共享结构进行写访问,我可以保证两个不同的线程永远不会尝试访问该数组的相同元素。我的问题是:我应该使用信号量或互斥锁之类的东西还是没有必要?

4

3 回答 3

0

在您的情况下,线程之间不共享数据,并且由于线程之间不共享数据,因此不需要同步机制。

于 2013-03-14T19:01:34.333 回答
0

好吧,我想你自己回答了这个问题!

互斥锁的目的是防止不同线程对某些资源的并发访问。如果您可以通过设计保证您的线程永远不会同时访问(读取或写入)相同的内存区域,那么您不需要互斥锁保护。

于 2013-03-14T19:02:20.777 回答
0

如果您的线程只读取信息,则不需要锁定。

如果您的线程修改了其他线程看不到的信息,则不需要锁定。

如果有一个地方可以被一个线程修改并被其他人使用,则需要使用互斥锁。

于 2013-03-14T19:05:28.950 回答