是否有任何机构使用C++中的互斥和条件变量实现了带有信号(唤醒等待线程)的监视器。在C++中使用互斥信号和条件变量实现监视器
我不知道如何开始。任何示例代码或在线文章都会很棒。 有没有实现这些的开源库?
我需要Windows和Linux。但开始与Windows(win32)将没事。
是否有任何机构使用C++中的互斥和条件变量实现了带有信号(唤醒等待线程)的监视器。在C++中使用互斥信号和条件变量实现监视器
我不知道如何开始。任何示例代码或在线文章都会很棒。 有没有实现这些的开源库?
我需要Windows和Linux。但开始与Windows(win32)将没事。
This Qt Quarterly article说明如何使用Qt的QMutex和QWaitCondition做到这一点。但是,你应该能够与任何互斥类,你要用来重新实现它..
又见here更高级的例子..
我在C++中使用的所有线程化编程都使用了pthreads,它具有您需要的基本构建块。这article讨论使用这些积木监视器
由于某些原因链接不起作用,粘贴相同的URL到浏览器,它会。
http://findarticles.com/p/articles/mi_m0VVT/is_10_2/ai_n24998136/
我做了一个在这里对POSIX系统:http://asgaard.homelinux.org/svn/cpp/threadqueue/有一个C变种的位置:http://asgaard.homelinux.org/wordpress/?p=9
Mozilla的平台抽象库NSPR (网景便携式运行)都有监视器提取,其是跨平台的。这是一个“真正的”实现(实际上在Firefox中使用),因此它并不简单。但它是一个监视器。
文档:prmon.html
退房与样品boost::thread::condition_variable在一起。 它可以用来等待有或没有超时的情况。我认为这是一个相当优雅的解决方案,它应该完成您在这种情况下所需要的,并以便携的方式进行。
我更新了我的帖子。 – San 2009-07-31 07:34:15
对不起,你的问题是什么?为互斥体和条件编写一些可移植代码或学习如何使用它们? – Ben 2009-07-31 08:20:07
我希望在C++中使用互斥信号的监视器类使用互斥锁和条件变量。自己编写一个监视器课程也很困难且耗时。我确信有人会实施它,但无法找到它。所以我发布了这个问题。 – San 2009-07-31 08:36:59