![]() |
1
4
请参见 definition of asynchronous operation 。该术语指的是时间安排,而不是协调技术。 其他线程在后台执行的任务随时都会发生。与原始线程协调是一个不相关的问题,异步术语既不要求也不拒绝。因此,是的,当后台线程执行委托任务时,发起线程/对象可以自由地继续执行其他工作。原始线程/对象可能会收到任务完成的通知,也可能不会收到任务完成的通知。
是的,那是错误的。 委派的任务可能与原始线程/对象无关 。发起线程/对象可能对任务的完成不感兴趣,如果是这样的话,肯定不希望以任何方式被中断。
即使原始线程
做
关心委托任务的完成,定义为异步并不定义一个通知发起线程的工具。在旧的C风格编码中,通常定义回调函数。在里面
OOP
可以通过各种技术通知原始对象。其中一种技术是让原始对象通过询问
中所示的示例代码演示了这一点
注意,Java 8带来了新的、有用的
|
![]() |
2
0
有异步计算和异步交互。通常异步计算使用异步交互,同步计算使用同步交互。同步计算是线程,同步交互是阻塞队列、信号量等。
但同步和异步世界需要相互作用
|
![]() |
Jess The Witch · GCP云功能中处理延迟任务的模式 7 月前 |
![]() |
Plup · 连接失败时,PyMongo异步客户端未引发异常 8 月前 |
![]() |
user1233894 · 尝试从全局函数传递值 8 月前 |
![]() |
Fabiano Taioli · 管理单线程Rust中的阻塞函数 1 年前 |
![]() |
river7816 · 为什么spdlog不在async函数中打印 1 年前 |