2
我的意思是某种伪代码显示了如何使用内核原语(互斥锁,等待队列等)实现条件变量操作(信号,等待)。pthreads在Linux中如何实现条件变量?
我的意思是某种伪代码显示了如何使用内核原语(互斥锁,等待队列等)实现条件变量操作(信号,等待)。pthreads在Linux中如何实现条件变量?
问题有些模糊:等待队列是内部Linux内核机制,它们不会导出到用户空间。用户空间条件变量由基于futexes的libc实现。
在Linux内核中没有条件变量接口实现,但很容易创建一个接口,例如参见http://www.geocities.ws/nikitadanilov/code/kcond.c。
为什么不直接查看libc中的_real_代码? –
你可能喜欢在这里挖掘:http://www.eglibc.org/cgi-bin/viewvc.cgi/trunk/libc/nptl/ – alk
有超过*一个* pthreads库的Linux,这可以是相关的,如果你不是x86和/或GNU libC中心。 – sawdust