在C中锁定链表的单个单元格

时间:2014-08-04 12:18:37

标签: c multithreading gcc locking

让我们说我们有两个核心工作在同一个链表上。 一个插入并更新一个条目,另一个条目在特定情况下删除一个条目。

好吧,如果我不使用锁定分段错误是显而易见的。 互斥锁或任何锁定核心整个过程的锁都没有效率,对我的程序也没有好处。

我需要一种像这样工作的锁: 插入和更新条目的线程一直没有停止工作,除非它更新了一个条目,该条目决定从另一个线程的列表中删除。 重要的是两个线程可以同时在列表上工作。

如果有人知道我应该为此目的使用什么样的锁,请与我分享。

请注意,编译器是gcc,我不能使用g ++。

0 个答案:

没有答案