Chinaunix

标题: 《Linux多线程服务端编程:使用muduo C++网络库》试读样章下载 [打印本页]

作者: giantchen    时间: 2013-02-02 11:19
标题: 《Linux多线程服务端编程:使用muduo C++网络库》试读样章下载
http://wenku.it168.com/d_000750738.shtml

另外:我积分不够,不能回短信,请 email 联系。
作者: linux_c_py_php    时间: 2013-02-02 14:25
啥架构的服务端?简单说说“?
作者: giantchen    时间: 2013-02-03 03:14
linux_c_py_php 发表于 2013-02-01 22:25
啥架构的服务端?简单说说“?


one (event) loop per thread。
见第 3 章和第 6.6 节。样章公开了第 6.6 节。
作者: linux_c_py_php    时间: 2013-02-03 09:01
memcached的架构, 还是没解决同步阻塞逻辑的问题吧.

giantchen 发表于 2013-02-03 03:14
one (event) loop per thread。
见第 3 章和第 6.6 节。样章公开了第 6.6 节。

作者: giantchen    时间: 2013-02-03 09:21
linux_c_py_php 发表于 2013-02-02 17:01
memcached的架构, 还是没解决同步阻塞逻辑的问题吧.


“同步阻塞逻辑”还有什么问题需要解决吗?
作者: linux_c_py_php    时间: 2013-02-03 09:47
本帖最后由 linux_c_py_php 于 2013-02-03 09:47 编辑

不是one event per thread 吗?

event里允许阻塞的业务逻辑吗?

giantchen 发表于 2013-02-03 09:21
“同步阻塞逻辑”还有什么问题需要解决吗?

作者: giantchen    时间: 2013-02-03 09:59
linux_c_py_php 发表于 2013-02-02 17:47
不是one event per thread 吗?

event里允许阻塞的业务逻辑吗?


不允许。再说有什么业务逻辑需要阻塞吗?
作者: linux_c_py_php    时间: 2013-02-03 10:12
操作Mysql呀.

giantchen 发表于 2013-02-03 09:59
不允许。再说有什么业务逻辑需要阻塞吗?

作者: giantchen    时间: 2013-02-03 10:13
linux_c_py_php 发表于 2013-02-02 18:12
操作Mysql呀.


libdrizzle 可以非阻塞呀。
作者: shanehan    时间: 2013-02-04 12:01
linux_c_py_php 发表于 2013-02-03 10:12
操作Mysql呀.


这个其实也没太必要在网络库中解决吧,问题太具体了,只要提供了线程的封装和一些不同需求的线程通讯队列的封装,能使用整合到event loop,使用者自己开线程解决这种阻塞问题就行了。
作者: giantchen    时间: 2013-02-04 12:08
本帖最后由 giantchen 于 2013-02-03 20:09 编辑

回复 10# shanehan


    在线程池中执行阻塞操作这确实也是一种常用的办法,并且通常效果还不错。
作者: linux_c_py_php    时间: 2013-02-04 12:42
并不是每个框架都支持你自定义那么多行为的。

说到底,还是需要框架在设计时就考虑支持阻塞逻辑。

shanehan 发表于 2013-02-04 12:01
这个其实也没太必要在网络库中解决吧,问题太具体了,只要提供了线程的封装和一些不同需求的线程通讯队 ...





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2