`
墙头上一根草
  • 浏览: 149726 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java 同步异步 阻塞非阻塞

    博客分类:
  • java
阅读更多

同步异步 阻塞非阻塞

 

  按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用(select/poll/epoll)、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO

 

  如何理解这几个概念,我个人来言,可以从java线程的角度去分析。现在有件事情,我要去图书馆借书,那我本人就是一个线程,借书是个事件,假如借书这个事件要花好长时间,比如管理员找书拿书,那线程就只能等到拿到书,才能做别的事情,这个就是同步但是线程一直在运算不能说是阻塞。假如恰好这个时候图书馆有其他人再借书,然后图书管理员给我说你等会,那对于线程来说,就好比调用了wait一直在等待,这个就是阻塞,线程阻塞在借书这个事情上。我去,借个书你还让我在这里等一天,这不是浪费我的青春年华嘛,于是乎给管理员留个电话号码,找到叫我,而我这个线程可以去做别的事情,这个时候好比管理员是一个线程,我是一个线程,我在管理员上面注册了一个事件,这个就是一种设计模式,现在借书这个事情就分两步了,一个是注册借书事件,一个是处理事件,所以是异步完成的,同时我这个线程可以不用在挂起,也就是非阻塞的。

 

    同步与异步  简单的理解分几个线程,一个线程肯定是同步的

    阻塞与非阻塞  简单理解线程调用是否被挂起或等待

分享到:
评论

相关推荐

    java 同步、异步、阻塞和非阻塞分析.docx

    java 同步、异步、阻塞和非阻塞分析.docx

    java 中同步、异步、阻塞和非阻塞区别详解

    主要介绍了java 中同步、异步、阻塞和非阻塞区别详解的相关资料,需要的朋友可以参考下

    java 同步、异步、阻塞和非阻塞分析

    主要介绍了java 同步、异步、阻塞和非阻塞分析的相关资料,需要的朋友可以参考下

    简述JAVA同步、异步、阻塞和非阻塞之间的区别

    主要介绍了JAVA同步、异步、阻塞和非阻塞之间的区别,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下

    JAVA IO同步,异步

    介绍了基于系统底层通信技术socket,JAVA IO同步,异步,阻塞,非阻塞;

    网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO

    网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO

    异步 同步 阻塞 非阻塞 的说明1

    而异步意味这你可以不用亲自去做读(写)这件事,你的工作让别人(别的线程)来做,你只需要发起调用,别人把工作做完以后,或许再通知你,它的逻辑是“我做完了 告诉/不

    网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO.pdf

    同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non...

    高性能IO模型浅析

    (3)IO多路复用(IO Multiplexing):即经典的Reactor设计模式,有时也称为异步阻塞IO,Java中的Selector和Linux中的epoll都是这种模型。 (4)异步IO(Asynchronous IO):即经典的Proactor设计模式,也称为异步非...

    socketjava源码-demo-sockets-io-nio-nio2:“Java套接字I/O:阻塞,非阻塞和异步”文章和源代码

    O:阻塞,非阻塞和异步 介绍 在描述I / O时,术语“非阻塞”和“异步”通常可以互换使用,但是它们之间存在显着差异。 本文描述了Java中非阻塞和异步套接字I / O操作之间的理论和实践差异。 套接字是通过TCP和UDP...

    Java™ Servlet 规范.

    其他的 Java 平台规范 .......................................................................................................................................3 其他重要参考资料 ............................

    Java编程中的IO模型详解:BIO,NIO,AIO的区别与实际应用场景分析

    IO模型决定了数据的传输方式,Java...AIO则是异步非阻塞模型,它由操作系统完成后回调通知服务端程序启动线程去处理,适用于连接较多且连接时间较长的应用。这三种模式各有优劣,应根据实际情况和需求选择合适的模型。

    java-simple-reactor:java简单的reactor的模型

    java-simple-reactor 目的 理解netty中的reactor模型细节 reactor相关的概念 1.什么是阻塞和非阻塞 同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的...同步非阻塞IO:在此

    leetcode题库-java-interview:Java研发基础相关

    leetcode题库 Java-Interview 四大基本特性 重载与重写的区别 访问控制符 Object类方法 抽象类与接口 类初始化顺序 ...非阻塞 synchronized & Lock volatile ThreadLocal sleep & wait 线程通信 线

    JAVA上百实例源码以及开源项目

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    JAVA上百实例源码以及开源项目源代码

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    异步HttpClient

    该组件是单线程非阻塞式的,类似于JS中的ajax请求。都使用单线程异步回调的方式。目前该组件已经初步测试通过。如果大家也需要这样的组件,可以下载尝试一下。所有关键注释都已经写了,如有不明白可以发送邮件 ath....

    java开源包4

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包11

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

Global site tag (gtag.js) - Google Analytics