如果阻塞函数是CPU绑定的(如您的for /
xrange示例所示),则线程(或进程)是使其成为非阻塞函数的唯一方法。为每个传入的请求创建一个线程很昂贵,但是创建一个小的ThreadPoolExecutor来处理所有受CPU约束的 *** 作却不是很昂贵。
要使函数不使用线程而不会阻塞,该函数必须是 事件驱动的 :它必须在某个外部事件(例如网络I / O)上等待,以便在该事件发生时可以将其唤醒。
欢迎分享,转载请注明来源:内存溢出
如果阻塞函数是CPU绑定的(如您的for /
xrange示例所示),则线程(或进程)是使其成为非阻塞函数的唯一方法。为每个传入的请求创建一个线程很昂贵,但是创建一个小的ThreadPoolExecutor来处理所有受CPU约束的 *** 作却不是很昂贵。
要使函数不使用线程而不会阻塞,该函数必须是 事件驱动的 :它必须在某个外部事件(例如网络I / O)上等待,以便在该事件发生时可以将其唤醒。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)