免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1879 | 回复: 4
打印 上一主题 下一主题

有关POE的几个疑问求教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-08 16:17 |只看该作者 |倒序浏览
本人在看了POE的编程模型以后,觉得有些地方不太明了。比如:整个POE kernel是运行在一个进程里头的,所以作为每个Event handler它是以独占cpu的形式运行的,如果由于某些逻辑原因或是编程错误导致某个event handler一直占用cpu而不释放,那么整个kernel的运行就会卡在那里,以至于其他的代码都没法继续执行。如果正我所说的这样的话,那么用户就必须很小心的编写event handler代码使得无论在什么情况下都不会独占cpu资源而不释放,这实际上是不是把很多棘手的问题又抛还给了用户处理,想对于操作系统的进程或是线程时间片轮转调度策略是不是一种倒退呢?因为起码进线程调度起码还能使得代码执行下去,而不至于因为某一个程序的错误而全部block在那。
小弟接触POE不久,如果有说的不对的地方请见谅。

论坛徽章:
0
2 [报告]
发表于 2008-04-08 16:30 |只看该作者
你说的很对,解决问题的方法有两个:
1,尽量熟悉 POE 自带的模块。POE 不仅仅是一个框架,它同时也是一个编程环境,你会发现有很多模块其实已经有人做好了。学会善用它们就会少很多烦恼。
2,提高程序员自身的修养。基本上,非阻塞是每一个程序员都应该懂得的编程技巧,因为这样可以使你的程序效率更高。

论坛徽章:
0
3 [报告]
发表于 2008-04-08 21:28 |只看该作者
谢谢,但我总感觉这样的话用POE写可靠性要求很高的服务器程序不太方便

论坛徽章:
0
4 [报告]
发表于 2008-04-09 10:34 |只看该作者
原帖由 hyqgod 于 2008-4-8 21:28 发表
谢谢,但我总感觉这样的话用POE写可靠性要求很高的服务器程序不太方便

那就不用好喽,又没人逼你用。

论坛徽章:
0
5 [报告]
发表于 2008-04-09 14:15 |只看该作者
那还有其他好的选择吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP