【发布时间】:2011-07-05 17:00:21
【问题描述】:
假设我有一个 N 个不重复的整数的排序单链表和 k 个线程(其中 k N),每个都试图将一些整数(大于头节点)插入到列表中。
是否可以将插入同步到这样的列表中:
- 线程只能阻止对其(立即)前一个节点的访问
(不锁定“整个列表”) - 最多可以使用 O(k) 个互斥锁和条件变量
- 不得发生抢占/中断
?
【问题讨论】:
-
家庭作业?面试题?你做了什么来尝试自己回答这个问题?这和 C 有什么关系?
-
我正在做一个个人项目,我目前面临的问题(更复杂)减少到我上面提出的问题。我正在尝试在 C 中使用 pthreads 来实现解决方案,这就是我添加 c-tag 的原因。我应该提供更多的实现细节吗?
标签: c synchronization sorted singly-linked-list