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

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

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

一、什么是同步?

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

END.

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

相关文章

  • 异步编程方法

    前言 同步与异步最直观的理解:等到操作执行完成才返回执行结果的是同步操作;反之,则是异步操作 传统的异步编程方法:...

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

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

  • 3. 异步编程

    异步编程和同步编程有什么区别? 同步在执行某个操作时,应用程序的主线程必须等待操作执行完成后才能继续执行。 异步在...

  • GCD

    理解:把任务添加到队列中,然后选择执行方式是异步还是同步 GCD是并发编程,操作的是队列。队列有全局队列,主队列。...

  • Promise的基本使用

    基本概念 个人理解就是使用同步编程的写法完成异步编程操作。 Promise 接收一个函数作为参数,函数有两个参数,...

  • 2018-05-24-多线程学习

    java多线程并发的编程学习 1,概念的学习 同步异步:同步需要等待异步不需要,同步如对共享数据操作避免脏数据...

  • ajax

    ajax async javascript and xml在ajax的异步不是我们理解的同步异步编程,而是泛指局部...

  • 网络编程基本概念

    网络编程有一些基本概念需要理解掌握,比如同步、异步、阻塞非阻塞。 1. 同步vs异步 同步与异步主要是从消息通知机...

  • 浅谈I/O模型

    一:概念的理解: 首先在网络编程的时候,我们常常见到同步/异步,阻塞/非阻塞四中调用方式: 1同步和异步主要针对C...

  • Es6promise的用法

    Promise 的基本用法 Promise是异步编程的一种解决方案,Promise的优缺点优点将异步操作以同步操作...

网友评论

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

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