随笔分类 -  同步、阻塞、异步、非阻塞

摘要:一、🌈前言 异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间,比如:发送短信、邮件、异步更新等,这些都是典型的可以通过异步实现的场景。 二、异步的八种实现方式 线程Thread Future 异步框架CompletableF 阅读全文
posted @ 2022-12-18 23:32 程序员小明1024 阅读(717) 评论(0) 推荐(0) 编辑
摘要:我们知道 JS 语言的执行环境是"单线程",所谓"单线程",就是指一次只能完成一件任务,这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。为了解决这个问题,JS 语言将任务的执行模式分成两种:同步 (Synchronou 阅读全文
posted @ 2022-07-26 01:08 程序员小明1024 阅读(630) 评论(0) 推荐(0) 编辑
摘要:问题: 在JavaScript的异步代码执行时: 如果遇到await,就将await执行后,后面的代码放入等待队列(因为async和await的本质还是promise的运用,返回的是一个promise对象)。 备注:async是generator的语法糖, 只是把generator的function 阅读全文
posted @ 2022-07-07 23:46 程序员小明1024 阅读(560) 评论(0) 推荐(0) 编辑
摘要:setTimeout()的意思是设置一个定时器,该定时器在定时器到期后执行一个函数或指定的一段代码。 例: 如下代码会打出6个6。 let i = 0 for(i = 0; i<6; i++){ setTimeout(()=>{ console.log(i) },0) } //打印结果6,6,6,6 阅读全文
posted @ 2022-07-07 23:44 程序员小明1024 阅读(425) 评论(0) 推荐(0) 编辑
摘要:可能还是很多同学没有理解下面的三段代码,今天从原理分析一下 var for (var i = 0; i < 10; i++) { setTimeout(function() { console.log(i); }, 100 * i); } // 10 10 10 10 10 10 10 10 10 阅读全文
posted @ 2022-07-07 23:43 程序员小明1024 阅读(44) 评论(0) 推荐(0) 编辑
摘要:nextTick做什么? nextTick接受一个延迟到下一个DOM更新周期的回调函数。这只是Vue的一种说法,"嘿,如果你想在DOM更新后执行一个函数(这种情况很少发生),我希望你使用nextTick而不是setTimeout"。 Vue.nextTick(() => {}) // syntax 阅读全文
posted @ 2022-07-07 23:42 程序员小明1024 阅读(127) 评论(0) 推荐(0) 编辑
摘要:前言 大家好,我是林三心,以最通俗的话,讲最难的知识点是我写文章的宗旨 之前我发过一篇手写Promise原理,最通俗易懂的版本!!!,带大家基本了解了Promise内部的实现原理,而提到Promise,就不得不提一个东西,那就是async/await,async/await是一个很重要的语法糖,他的 阅读全文
posted @ 2022-07-06 00:26 程序员小明1024 阅读(288) 评论(0) 推荐(0) 编辑
摘要:不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的几行代码,我们需要知道其输出内容和顺序。因为javascript是一门单线程语言,所以我们可以得出结论: javascript是按照语句出现的顺序执行的 看到这里读者要打人了:我难道不知道js 阅读全文
posted @ 2022-07-03 23:57 程序员小明1024 阅读(34) 评论(0) 推荐(0) 编辑
摘要:本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我。 不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的几行代码,我们需要知道其输出内容和顺序。因为javascript是一门单线程语言,所以我们可以得出 阅读全文
posted @ 2022-06-25 14:19 程序员小明1024 阅读(46) 评论(0) 推荐(0) 编辑
摘要:1、不按顺序执行的代码(主要是initCourseForm的方法) <template> <div class="app-container"> <el-steps :active="1" finish-status="success"> <el-step title="填写课程基本信息"></el 阅读全文
posted @ 2022-05-09 23:32 程序员小明1024 阅读(928) 评论(0) 推荐(0) 编辑
摘要:进程和线程 要想了解js中的同步阻塞和异步非阻塞,首先我们要对进程和线程的基本概念有一个清楚 的了解。 进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,简单来说你的电脑每运行一个程序就是一个进程。 线程:进程的一个执行单元,是操作系统能够进行运算调度的最小单位。 一个程序至有一个进程,一 阅读全文
posted @ 2022-05-09 15:59 程序员小明1024 阅读(1168) 评论(0) 推荐(0) 编辑