多线程数据结构:并发堆栈

时间:2010-07-16 08:00:38

标签: c concurrency data-structures

我正在寻找一个并发堆栈的C实现(比如Cilk THE协议),它允许主线程推送和弹出(例如,pop操作将在堆栈的开头)和一个远程线程弹出(这个弹出操作将在堆栈的末尾),必须采取一切预防措施。

如果没有代码,我们将不胜感激任何实施建议。

THX!

2 个答案:

答案 0 :(得分:1)

我会使用常规堆栈并使用互斥锁包装push和pop函数。

在psuedo-C中:

void push(void *data)
{
    acquire_lock(mutex);
    stack_push(data)
    release_lock(mutex);
}

添加错误检查和盐味。

答案 1 :(得分:0)

NOBLE图书馆似乎正是我所寻找的。

相关问题