我正在寻找一个并发堆栈的C实现(比如Cilk THE协议),它允许主线程推送和弹出(例如,pop操作将在堆栈的开头)和一个远程线程弹出(这个弹出操作将在堆栈的末尾),必须采取一切预防措施。
如果没有代码,我们将不胜感激任何实施建议。
THX!
答案 0 :(得分:1)
我会使用常规堆栈并使用互斥锁包装push和pop函数。
在psuedo-C中:
void push(void *data)
{
acquire_lock(mutex);
stack_push(data)
release_lock(mutex);
}
添加错误检查和盐味。
答案 1 :(得分:0)
NOBLE图书馆似乎正是我所寻找的。 p>