Questions tagged «boost-thread»

10
C ++ 0x没有信号量?如何同步线程?
C ++ 0x会没有信号量是真的吗?关于信号量的使用,在堆栈溢出方面已经存在一些问题。我一直使用它们(posix信号量)让一个线程在另一个线程中等待某个事件: void thread0(...) { doSomething0(); event1.wait(); ... } void thread1(...) { doSomething1(); event1.post(); ... } 如果我要用互斥锁来做到这一点: void thread0(...) { doSomething0(); event1.lock(); event1.unlock(); ... } void thread1(...) { event1.lock(); doSomethingth1(); event1.unlock(); ... } 问题:这很丑陋,不能保证thread1首先锁定互斥锁(鉴于同一线程应该锁定和解锁互斥锁,因此您也不能在thread0和thread1启动之前锁定event1)。 因此,由于boost也没有信号量,实现以上目标的最简单方法是什么?

6
提高boost_shared_mutex的示例(多次读取/一次写入)?
我有一个多线程应用程序,该应用程序必须经常读取一些数据,并偶尔更新数据。现在,互斥锁可以确保对数据的安全访问,但是这很昂贵,因为我希望多个线程能够同时读取,并且仅在需要更新时才将它们锁定(更新线程可以等待其他线程完成)。 。 我认为这是boost::shared_mutex应该做的,但是我不清楚如何使用它,也没有找到明确的例子。 有人有我可以用来入门的简单示例吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.