辨析:js是单线程但是异步的

js是单线程 这与同步、异步概念有什么关系?

  • 没有必然联系。
  • 在js中通事件循环机制,形成了js特有的异步并发模型。异步是相对同步来说的,多线程是相对单线程来说的,所以多线程不代表异步。

单线程与多线程的区别

  • 线程:线程又称为轻量级进程,是"进程"中某个单一顺序的控制流,它是程序执行流的最小单位。

  • 单线程:在单个的程序中可以运行一个线程。

  • 多线程:一个程序也可以同时运行多个线程完成不同的工作,称之为多线程。

  • 更多参考
    单线程多线程详解

同步与异步的区别

关注的是:消息通信机制 (synchronous communication/ asynchronous communication)

同步:就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。

异步:方法一 立即返回,调用者无需等待其中方法执行完成,就可以继续执行后续方法。

扩展

  • 阻塞调用和同步调用也不能等同。

  • 对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回而已。

  • 阻塞调用是指调用结果返回之前,当前线程会被挂起。

  • 非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

  • 阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值