zoukankan      html  css  js  c++  java
  • Synchronous/Asynchronous:任务的同步异步,以及asynchronous callback异步回调

    两个线程执行任务有同步和异步之分,看了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。

  • 相关阅读:
    学习进度第七周
    NABCD---生活日历
    学习进度第六周
    人月神话阅读笔记(3)
    人月神话阅读笔记(2)
    人月神话阅读笔记(1)
    石家庄地铁查询(双人项目)
    学习进度第五周
    学习进度第四周
    返回一个整数数组中最大子数组的和。(续2)---二维数组
  • 原文地址:https://www.cnblogs.com/jily/p/6759783.html
Copyright © 2011-2022 走看看