Play Framework 2中的所有操作都是异步的吗?或者我是否必须故意使用Promise来实现这一目标?
澄清一下,IO(NIO)是否在与实际操作逻辑不同的线程上执行?
答案 0 :(得分:2)
这取决于异步的含义。
所有播放操作都是非阻塞的,因为接受HTTP请求的IO线程与运行操作的IO线程不同,并且永远不会阻止等待操作完成。所以,是的,(HTTP)IO是在与实际操作逻辑不同的线程上执行的。
但是,这些操作本身可能包含可能需要一段时间的计算。因此,它们可能会阻塞它们执行的线程。执行数据库操作时通常就是这种情况,因为大多数数据库驱动程序都在阻塞。
答案 1 :(得分:2)
要添加到Stephane的答案,
澄清一下,IO(NIO)是否在不同的线程上执行 实际行动逻辑
是的