美文网首页
初识同步、并行与异步

初识同步、并行与异步

作者: Silver湫澲 | 来源:发表于2018-03-26 20:23 被阅读10次

初识同步、并行与异步

同步编程

简单的理论基础就是事情按顺序一个做完在做下一个,挨个做完

var doing=()=>{
    var dateStart=Date.now();
    while(1500>(Date.now()-dateStart)){
        
    }
}

var thing1=()=>{
    console.log("");
    console.log("开始做第一件事");
    doing();
    console.log("第一件事做完");
}
var thing2=()=>{
    console.log("");
    console.log("开始做第二件事");
    doing();
    console.log("第二件事做完");
}
var thing3=()=>{
    console.log("");
    console.log("开始做第三件事");
    doing();
    console.log("第三件事做完");
}

var doThing=()=>{
    console.log("开始上班喽");
    thing1();
    thing2();
    thing3();
    console.log("加班回来了");
}

doThing();

并行编程

简单的理论基础就是让几个人一起干活

var thing1=()=>{
    console.log("1号开始调查");
    setTimeout(() => {console.log("1号调查中");},1500);
    setTimeout(() => {console.log("1号调查完毕");},3000);
}
var thing2=()=>{
    console.log("2号开始调查");
    setTimeout(() => {console.log("2号调查中");},1500);
    setTimeout(() => {console.log("2号调查完毕");},3000);
}
var thing3=()=>{
    console.log("3号开始调查");
    setTimeout(() => {console.log("3号调查中");},1500);
    setTimeout(() => {console.log("3号调查完毕");},3000);
}

var doThing=()=>{
    console.log("给你们分派调查任务");
    var todoList=[ thing1, thing2, thing3];

    //下面两种方式均可
    // for(list of todoList){
    //     list();
    // }

    todoList.forEach((item)=>{
        item();
    });
    console.log("分派完毕,开始执行");
}

doThing();

异步编程

简单的理论基础就是告诉别人干完一件事接着再干下一件事

then=(thing)=>{
    setTimeout(thing,1500);
}

var thing1=()=>{
    console.log("做饭");
    then (thing2);
}
var thing2=()=>{
    console.log("吃饭");
    then (thing3);
}
var thing3=()=>{
    console.log("睡觉");
}


var doThing=()=>{
    console.log("起床了");
    then(thing1);
    console.log("你今天自己做饭吃饭完了没事就睡觉吧!");
}

doThing();

相关文章

  • 初识同步、并行与异步

    初识同步、并行与异步 同步编程 简单的理论基础就是事情按顺序一个做完在做下一个,挨个做完。 并行编程 简单的理论基...

  • 多线程GCD的使用

    一、同步/异步、串行/并行的区别 1.同步/异步 同步/异步是指线程与线程之间的关系。 2.串行/并行 串行、并行...

  • GCD 小结

    一、 同步/异步、串行/并行的区别 1.同步/异步 同步/异步是指线程与线程之间的关系. 2.串行/并行 串行/并...

  • iOS多线程小结

    同步异步串行并行 同步串行:不开启线程 同步并行:不开启线程 异步串行:最多开启一个线程 异步并行:开启线程 同步...

  • GCD基础总结一

    上代码~ 同步串行队列 同步并行队列 异步串行队列 异步并行队列 主队列同步 会卡住 主队列异步

  • IOS多线程总结

    目录 简述 NSThread GCD操作与队列异步操作并行队列同步操作并行队列同步操作串行队列异步操作串行队列队列...

  • GCD 相关函数

    串行同步 串行异步 并行同步 并行异步 主队列同步 会死锁 主队列异步 异步处理耗时,回主线程刷新UI 栅栏函数 ...

  • GCD

    同步、异步、串行、并行的概念 同步/异步:指的是能否开启新的线程,同步不能开启新的线程,异步可以。串行/并行:指的...

  • sync 和 async区别

    同步,异步,串行,并行

  • 线程的几个常用操作

    同步串行 < 异步并行 < 同步并行 基本上难度越来越大。

网友评论

      本文标题:初识同步、并行与异步

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