有关POE的几个疑问求教

有关POE的几个疑问求教

本人在看了POE的编程模型以后,觉得有些地方不太明了。比如:整个POE kernel是运行在一个进程里头的,所以作为每个Event handler它是以独占cpu的形式运行的,如果由于某些逻辑原因或是编程错误导致某个event handler一直占用cpu而不释放,那么整个kernel的运行就会卡在那里,以至于其他的代码都没法继续执行。如果正我所说的这样的话,那么用户就必须很小心的编写event handler代码使得无论在什么情况下都不会独占cpu资源而不释放,这实际上是不是把很多棘手的问题又抛还给了用户处理,想对于操作系统的进程或是线程时间片轮转调度策略是不是一种倒退呢?因为起码进线程调度起码还能使得代码执行下去,而不至于因为某一个程序的错误而全部block在那。
小弟接触POE不久,如果有说的不对的地方请见谅。
你说的很对,解决问题的方法有两个:
1,尽量熟悉 POE 自带的模块。POE 不仅仅是一个框架,它同时也是一个编程环境,你会发现有很多模块其实已经有人做好了。学会善用它们就会少很多烦恼。
2,提高程序员自身的修养。基本上,非阻塞是每一个程序员都应该懂得的编程技巧,因为这样可以使你的程序效率更高。
谢谢,但我总感觉这样的话用POE写可靠性要求很高的服务器程序不太方便


QUOTE:
原帖由 hyqgod 于 2008-4-8 21:28 发表
谢谢,但我总感觉这样的话用POE写可靠性要求很高的服务器程序不太方便

那就不用好喽,又没人逼你用。
那还有其他好的选择吗?