摘要:
在传统的服务器程序中,如果不是用多线程,只使用单线程的情况下,当有两个用户请求服务器时,会先处理一个请求,当这个请求处理完成之后,才回去处理另外一个请求,当在请求过程中有数据库操作,文件操作等的时候,这个请求就处于挂起状态,而程序转而去执行数据库和文件操作,在这过程中另一个请求时不能够立即处理的。在nodejs中当一个请求在处理数据库等耗时操作的时候,另一个请求也会处理,在处理这个请求的过程中要是前一个程序数据库操作完成,调用回调函数处理第一个请求,暂时中断第二个请求,当第一个执行完成之后,第二个在执行。可以看得出,在这种模式下,服务器程序是容许多个请求操作的,省去了请求的操作数据库等而挂起消 阅读全文
摘要:
在学习过程中的实例,加入自己的理解//此段程序会陷入死循环,使用while可使循环占据线程,而setTimeout的延时启动使得事件触发不了EE = require("events").EventEmitter;ee = new EE();die = false;ee.on("die", function (a, b, c) { die = true; console.log("arguments:" + a + b + c);});console.log("test");//ee.emit("die&q 阅读全文