博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Synchronous/Asynchronous:任务的同步异步,以及asynchronous callback异步回调
阅读量:5205 次
发布时间:2019-06-14

本文共 994 字,大约阅读时间需要 3 分钟。

两个线程执行任务有同步和异步之分,看了Quora上的一些问答有了更深的认识。

When you execute something synchronously, you wait for it to finish before moving on to another task. When you execute something asynchronously, you can move on to another task before it finishes.

Synchronized means "connected", or "dependent" in some way. In other words two synchronous tasks must be aware of one another, and one must execute in some way that is dependent on the other. In most cases that means that one cannot start until the other has completed. Asynchronous means they are totally independent and neither one must consider the other in any way, either in initiation or in execution.

MSDN上如是说:

Asynchronous operations can improve performance, because they do not block the calling thread.

同步任务之间有相互关系,存在“等待结束”的关系;异步任务互相之间不管。

也许在CS中“同步”指的是task1的结束和task2的开始是同步的?

那么join一个线程就是父子线程同步,detach就是异步了。

Asynchronous callback指的就是caller call了callee,并不同步地等待callee返回,而是在callee完成返回时通过callback通知caller。

转载于:https://www.cnblogs.com/jily/p/6759783.html

你可能感兴趣的文章
PLSQL Developer连接不上64位Oracle 10g的解决办法
查看>>
F5负载均衡架构图
查看>>
webAPI获得链接客户端IP地址
查看>>
《C和指针》读书笔记——第二章 基本概念
查看>>
求最大公约数和最小公倍数
查看>>
Codeforces 459E
查看>>
ACM-ICPC (10/11)
查看>>
装饰器函数
查看>>
101. 删除排序数组中的重复数字 II
查看>>
Operator Overloading part 3(Chapter 12 of Thinking in C++)
查看>>
第20组第二次作业
查看>>
罗列C++语言中一些不太引人注意的细节
查看>>
CSS:有点难的面试题①
查看>>
关于控制input输入整数最多为6位,小数点最多为4位的方法
查看>>
hdu1403 后缀数组入门题
查看>>
js倒计时
查看>>
IdentityServer4 密码模式认证
查看>>
Acne Diet - Number One FAQ Answered
查看>>
创建型模式之 建造者模式
查看>>
20145302张薇《Java程序设计》实验二报告
查看>>