为什么eventlet允许它完成6秒,当它应该在5秒后退出缩进?
func trynaReturnKeyboard -> Bool {
firstTextField.resignFirstResponder()
secondTextField.resignFirstResponder()
return true
}
答案 0 :(得分:2)
Eventlet提供合作多线程。这意味着您需要产生控制权以使集线器或协同程序(在这种情况下,集线器实现超时)有机会运行。控制权:
eventlet.monkey_patch()
,现在您可以使用常规time
,socket
等模块,替换为“绿色”版本,与Eventlet合作。没有绿色调用的任何CPU紧密代码,例如[_ for _ in xrange(1000000000)]
根本不可能中断。如果您发现自己处于类似情况,请将eventlet.sleep(0)
置于循环中,这将进入Eventlet集线器并允许超时工作。