什么是同步模式?

大部分单线程任务都会排队执行任务,这就称为同步模式(Synchronous)。同步模式执行中,只涉及到调用栈(Call stack)。

现实生活举例

就像验核酸一样,我们要排队一个个去验(按顺序排队),当只有一条通道(也就是单线程)时,因为要打开健康码、行程码、核酸码,如果有些人手机网络不好,或者不懂的如何操作,就会耽误很长的时间,导致后面的排队的人员一直处于等待阶段。

优点

  • 这种模式编写的代码易于阅读和理解,代码的执行顺序都是从上往下一个个执行

缺点

  • 有些任务执行的时间过长,则后面的任务都会处于等待中,则形成阻塞

案例

  1. console.log('global begin');
  2. function bar() {
  3. console.log('bar task');
  4. }
  5. function foo() {
  6. console.log('foo task');
  7. bar();
  8. }
  9. foo();
  10. console.log('global end');
  11. // global begin
  12. // foo task
  13. // bar task
  14. // global end