- 博客(3)
- 收藏
- 关注
原创 C++11之future,promise,packaged_task,async详解
C++11为了给我们提供更便利的并发编程,加入了 future,promise,packaged_task,async 这几个新特性,那么它们到底有什么作用又能给我们带来哪些便利呢?经典的生产-消费模型mutex + condition_variable:首先让我们来看一个最经典的生产-消费模型:#include #include #include #includ
2017-05-27 11:34:15 9583 3
原创 我对Reactor,Proactor模式的一点理解
之前便简单使用过了 Boost.Asio 异步 I/O 库,一直很都好奇诸如 async_read() 之类的异步函数是如何来实现的,于是我就开始了疯狂地找资料。 从重新理解同步,异步,阻塞,非阻塞到重温 Linux 下5种经典的 I/O 模型,然后我找到了 Reactor,Proactor 这两个模式。往下读之前希望您已经认识了各种 I/O
2017-05-26 23:09:10 826 1
原创 使用boost::shared_mutex实现读写锁
伟大的Boost库给我们提供了 shared_mutex 类,结合 unique_lock 与 shared_lock 的使用,可以实现读写锁。通常读写锁需要完成以下功能:1.当 data 被线程A读取时,其他线程仍可以进行读取却不能写入2.当 data 被线程A写入时,其他线程既不能读取也不能写入对应于功能1,2我们可以这样来描述:1.当线程A获得共享锁时,
2017-05-22 19:48:52 9645 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人