事件驱动环境编程
曾经使用过如TK或GTK进行图形话编程的人都知道此时与一般情况下的编程有点不同。平时我们编程是给程序一堆事件序列并让它帮我们完成。但GUI编程不这样做,而是建立一个对特定事件响应的环境(比如一个窗口)。这就是所谓的事件驱动机制(event-driven paradigm)。
并不是只有GUI程序是这样。例如网络服务器也不是一个事件序列,而是等待连接状态直到根据读入客户端输入处理相关情况,之后又回到等待下一个连接的状态。
类似的我们也可以写个程序监视文件夹,它就像坐在闹钟旁边一样周期性的查看路径里面的文件,检查到了对文件的改动时它可以触发相应的响应。
事件驱动机制的核心是事件循环(event loop),有时也被成为主循环。Tk,事件模块,事件驱动环境如POE都有这个。POE核心/内核(kernel)处理POE的主循环
如上所述,POE可以看作一个微型操作系统,所以叫它内核一点也不过分。当操作系统内核完成环境的构建工作后它便停下等待事件到来,比如从用户来的系统调用或其他硬件中断等。除了为各种事件提供服务外它还需要在各组份间传递信息-这通常就是指进程间通信(IPC)。
POE内核也进行事件服务和处理POE环境下各个部分间的通信,这些进程被叫做session。

没有评论:
发表评论