zoukankan      html  css  js  c++  java
  • 同步异步和阻塞非阻塞

    一、同步与异步

    重点是是否强调事件发生的顺序:请求发出后,是否需要等待请求结果,才能继续执行其他操作。

    1. 同步:同步就是发起一个请求,直到请求返回结果之后,才进行下一步操作。简单来说,同步就是必须一件事一件事的做,等前一件做完了,才能做下一件事。

                核心:Java主动读写数据,进行IO操作。

    2. 异步:当一个异步操作发出后,调用者在没有得到结果之前,可以继续执行后续操作。

                核心:Java委托给内核(OS)完成读写操作,并且通知Java读写完成。

    二、阻塞与非阻塞

    重点在程序等待结果时的状态:进程/线程需要操作的数据如果尚未就绪,是否妨碍了当前进程/线程的后续操作。

    1. 阻塞:在调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会被唤醒执行后续的操作。

    2. 非阻塞:在结果没有返回之前,该调用不会阻塞住当前线程。

    三、之间的联系

    在处理IO时,阻塞和非阻塞都是同步IO,只有使用了特殊的API才是异步IO。

  • 相关阅读:
    javascript内存泄漏
    闭包
    JavaScript 数组(Array)对象
    什么是跨域?跨域请求资源的方法有哪些?
    理解闭包
    比较typeof与instanceof
    js 字符串操作函数
    js去除字符串空格
    Thematic002.字符串专题
    Thematic001.数论专题
  • 原文地址:https://www.cnblogs.com/kikis/p/10715189.html
Copyright © 2011-2022 走看看