自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

越努力越幸运—liupu

人生是一个旅程,让我们共享沿途风景

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除