- 博客(6)
- 收藏
- 关注
原创 java并发容器
30down voteacceparraylist和linkedlist 的 add(),remove(),iterator()在多线程访问下都需要加锁vector容器的add() remove() 操作是threadsafe,但iterator不是threadsafe,多线程使用下需要先锁CopyOnWriteArrayList,容器的 add,remove,itertor都是threadsaf...
2018-04-14 03:07:35 127
原创 epoll 水平触发 边缘触发
水平触发:只要缓冲区还有数据,内核就还会通知用户。用户如果第一次读取数据没读完,即使没有任何新的操作触发,还是可以继续通过epoll_wait来获取事件边缘触发:只有当新事件触发的时候,才能通过epoll_wait来获取数据,如果第一次读取数据没读完,就只能等待下一次事件触发来获取余下的数据。换句话说,即使缓冲区还有数据,但没有新事件触发,用户是获取不到事件的(不能读取余下数据)代
2017-01-24 20:26:12 422
转载 reactor模式 C++
我对reactor模式的理解是:先把任务放到acceptor那里 register,然后就先放着不动。等到这个任务被别人通知要做的时候,便去执行这个任务。详细可参考以下这篇文章http://www.dre.vanderbilt.edu/~schmidt/PDF/reactor-siemens.pdf以下这个博文也非常清晰地介绍了reactor的细节http://ww
2017-01-24 19:57:23 1774
原创 Asynchronous TCP server using coroutines
The server:#include #include #include #include #include #include #include #include #include namespace asio = boost::asio;typedef boost::shared_ptr socketptr;void handle_connection(a
2017-01-24 19:38:48 298
原创 Asynchronous programming using coroutines
sample code for Asynchronous programming using coroutines #include #include #include #include #include void wait_and_print(boost::asio::yield_context yield, boost::asio
2017-01-24 19:23:04 289
原创 c++ boost coroutine
For thread, the os help us schedule the thread automatically.For coroutine, we need to schedule the thread manually.There are benefits for coroutine over the thread. The os dont have to be b
2017-01-24 19:00:50 838
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人