美文网首页
异步编程中的"同步"操作理解

异步编程中的"同步"操作理解

作者: 程序员的一天 | 来源:发表于2020-09-02 16:12 被阅读0次

    一、什么是同步?

    要把"同步"说清楚,比较不容易。因为在生活中,这个词的含义比较多,不同场景下,可以有不同的理解。

    当你一边玩手机,一边看电视,一边吃水果的时候,"同步"可以理解为:同时做很多事情,这些事情"同步"进行。

    当你对着电脑,调整手表时间的时候,"同步"可以理解为:让两个事物的某个状态保持一致。比如,你让手表上的时间与电脑上的时间同步一致。

    计算机领域中的"同步",与生活中的"同步"含义不同。
    计算机领域中,"同步"的"同"不是"同时"的意思,这很重要!计算机领域中,"同步"注重的是协调一致

    协调一致,又涉及到"互斥操作"。"互斥操作"指的是:两个操作不能同时进行。比如,你不能在睡着的时候玩手机,必须协调好玩手机和睡觉的时间。

    既然,存在"互斥",那么,一个事件中,某些具有依赖关系的操作就必定会存在"谁先,谁后"的顺序问题。

    现在,想象这样一个场景:周末,你在家休息。平日里上班时间紧、工作重,没有好好吃饭。今日得闲,你想做一餐好吃的,犒劳犒劳自己。

    做饭,是一件事情,有它自己的步骤和操作。我们暂且把它分为三步吧!

    1. 准备食材
    2. 烹饪食材
    3. 享用美味
    

    我们可以看到,这三步中每一步的操作都是"互斥"的。我们不能在准备食材的同时烹饪它,也不能在烹饪的过程中,享用它。

    并且,三个步骤之间存在着先后的依赖关系。烹饪前我们一定得准备食材,享用美味佳肴一定在烹饪之后。(生吃会拉肚子的喔...)

    三个步骤的执行顺序一定是这样的:


    在计算机领域,代码中的各个模块操作按照一定的逻辑顺序先后执行,某个操作必须等待它依赖的上个操作执行结束才能开始执行。这样的流程,即为"同步"。

    同步,注重的是整个代码执行过程中的协调一致。比如,你必须在输入正确的QQ号和密码后,才能使用它收发消息。

    简言之,同步意味着有序,需要等待

    END.

    微信搜一搜,关注公众号:程序员的一天

    相关文章

      网友评论

          本文标题:异步编程中的"同步"操作理解

          本文链接:https://www.haomeiwen.com/subject/jtswsktx.html