浅谈进程、线程

进程
   在一个电脑中,有一个操作系统,其中进行着谷歌浏览器、QQ、微信、网易云音乐等多个进程。特点是:独立进行,互不干扰。
线程
  在启动一个进程时(比如谷歌浏览器),操作系统就会给谷歌浏览器分配一个线程,在应用程序的运行过程中可能会同时执行多个任务,于是可以向操作系统申请分配更多的线程来执行不同的任务,比如谷歌浏览器中的多个任务。
具体解释如下图所示:
请添加图片描述
进程与线程的区别

进程与进程之间是互相独立的;线程与线程之间是可以数据共享的(就好比一个篮球队,每个队员都有各自的定位,各司其职,但是可以相互配合等操作),并且线程是可以被调度的,可以替换按照某个顺序执行(比如浏览器中的执行线程和GUI线程就是被调度为互斥的,当GUI线程执行渲染时,执行线程会被阻塞,反之亦然)。
调度栗子:(看不到元素内容被改变)

<h2 id="name">凌晨</h1>
<button onclick="test()">click me</button>
<script>
  function test() {
    title.innerHTML = "凌晨在路上";
    while (true) {}
  }
</script>

这就证明了 --> JS是单线程语言,指的是在宿主环境内(浏览器),执行JS代码的线程只有一个。所以才有了JS中的异步,关于异步的讨论,下次文章展示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值