51dev.com IT技术开发者社区

51dev.com 技术开发者社区

MessageChannel用法总结

MessageChannel用法总结

MessageChannel,顾名思义,通信管道,可以实现两端的通信。基本用法:varchannel=newMessageChannel();varport1=channel.port1;varport2=channel.port2;port1.onmessage=function(event){c...

Stream概念的理解

Stream概念的理解

Stream,流,这个概念,类似于水流,是对传输过程的一个抽象。我们要把一堆东西从出发地(source)转移到目标地(dest):一种方法,一次性把东西全部运过去,这在数量比较少,重量比较轻,时候可以实现。而大多数情况下,这个难以做到。比如,有10吨苹果,要一次性运送,这个难度就太大了。于是,就有了...

nodejs多线程

nodejs多线程

Nodejs一直以单线程异步IO著称,擅长IO密集型操作,不擅长CPU密集型操作。但是,新版的Nodejs,在不断弥补这方面的短板。在Node10.5.0,官方给出了一个实验性质的模块worker_threads给Node提供了真正的多线程能力在Node.js12.11.0,worker_threa...

nodejs进程间通信

nodejs进程间通信

nodejs进程间通信常用的有4种方式1.stdin/stdout  stdin和stdout可以传递json,双方在标准输入输出中读写json,但是进程间要知道对方的句柄,VSCode使用了这种方式2.原生IPC    on('messa...

nodejs多进程spawn execFile exec fok方法的区别

nodejs多进程spawn execFile exec fok方法的区别

1.spawn创建新进程,执行结果已流的形式返回,只能通过事件来获取结果数据,操作麻烦constspawn=require('child_process').spawn;constls=spawn('ls',['-lh','/usr']);ls.stdout.on('data',(data)=>...

socket这个名词的理解

socket这个名词的理解

socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open–>读写write/read–>关闭close”模式来操作。socket现在已经演化为一种通信规范。计算之间的通...

Object.defineProperty方法总结

Object.defineProperty方法总结

1.定义属性的两种形式//1varobj={};obj.name='ming';//相当于Object.defineProperty(obj,'name',{value:'ming',writable:true,configurable:true,enumerable:true})//2Object...

git中HEAD^和HEAD~区别

git中HEAD^和HEAD~区别

^x: 尖头符号,形似箭头,表示要朝那个方向,始终是走一步,x表示第几个岔路口,代表方向盘~y: 波浪符号,表示要在该方向上走y步,始终沿着该方向,代表油门当前节点的祖宗节点如下:自己:HEAD,HEAD^0或HEAD~0父亲:HEAD^,HEAD~母亲:HEAD^2爷爷:HEA...

http常见的9种方法

http常见的9种方法

http1.0定义了3种方法:GET,POST,HEADhttp1.1新增了6种方法:PUT,DELETE,Options,Trace,Connect,Patch1.GET2.POST3.PUT4.DELETE5.Options   两种场景:1.获取资源支持的http...

常用的http请求头

常用的http请求头

RequestHeader:Host:www.test.com///请求的目标域名和端口号Origin:http://localhost:8081///请求的来源域名和端口号(跨域请求时,浏览器会自动带上这个头信息)Referer:https:/localhost:8081/link?query=x...

var let const区别

var let const区别

有5点主要的区别:1. 作用域2. 变量提升3. 全局变量属性4. 重复声明5. 常量1.var是函数级作用域,let和const是块级别作用域2.var存在变量提升,let和const不存在变量提升变量提升指的是变量声明的提升,不会提升变量的初始化...

nodejs多进程基本知识

nodejs多进程基本知识

1.创建多进程的模块1.1child_process1.2cluster2.创建多进程的方法2.1child_process有4种方法:1.spawn:创建子进程,执行非node程序,执行结果以流形式返回2.execFile:创建子进程,执行非node程序,执行结果以回调返回3.exec:创建子进程...

ES2020的js新特性

ES2020的js新特性

1.可选链可选链,?.操作符,在访问属性或方法时,若存在为空的中间量,则返回undefined,在长链条的属性访问时,可节省代码conststu={name:'xiaoming',school:{name:"xxx"}}constcityName=stu.address?.city?.name//c...

顺滑滚动到顶部简单实现

顺滑滚动到顶部简单实现

functionscrollToTop(){constc=document.documentElement.scrollTop||document.body.scrollTop;if(c>0){window.requestAnimationFrame(scrollToTop);window.s...

操作系统进程通信与线程通信

操作系统进程通信与线程通信

进程和线程的区别1.进程是资源分配的最小单位,线程是程序执行的最小单位,CPU调度的最小单位2.进程有自己独立的地址空间,线程共享进程的地址空间3.进程之间的资源是独立的,线程共享本进程的资源1.进程间通信1.1管道(包括管道和命名管道)内存中类似于文件的模型,多进程可读写1.2消息队列内核中的队列...