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

初识同步、并行与异步

作者: 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();
    

    相关文章

      网友评论

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

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