`

IO中的阻塞和同步等概念

 
阅读更多

1.同步与异步

这对描述的是消息通信机制(synchronous/asynchronous communication)

同步就是在发出一个‘调用’时,在没有结果前,该‘调用‘不返回。一旦返回就是携带返回值。或者说是调用者主动等待这个结果。

异步就是调用发出后,该调用直接返回,而没有返回结果。而是在‘被调用者’有了结果后通过状态、通知来告诉调用者,或者通过回调函数来处理这个结果

 

2.阻塞与非阻塞

这对描述的是程序在等待调用结果时的状态

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

非阻塞是指在不能立刻得到结果之前,该调用不会阻塞当前线程

分享到:
评论

相关推荐

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

    这里我们将深入探讨同步IO、异步IO、阻塞IO和非阻塞IO的概念,理解它们的工作原理以及在实际应用中的差异。 1. 同步IO与异步IO: - **同步IO**:在同步模式下,应用程序执行I/O操作时会等待操作完成。这意味着程序...

    IO中同步、异步与阻塞、非阻塞的区别

    在软件开发领域,尤其是在涉及输入输出(IO)操作时,理解同步与异步、阻塞与非阻塞的概念是非常重要的。这些概念对于设计和实现高效的程序至关重要,尤其是在高并发和分布式系统中。 一、同步与异步 同步和异步是...

    IO模型中的阻塞模型和非阻塞模型

    ### IO模型中的阻塞模型和非阻塞模型 在计算机科学领域中,输入/输出(Input/Output,简称IO)模型对于操作系统与应用程序之间的交互至关重要。根据数据读写操作是否可以立即返回,IO模型通常被划分为阻塞式...

    详解socket阻塞与非阻塞,同步与异步、I/O模型

    Socket编程中的阻塞与非阻塞、同步与异步是两个独立的概念,它们涉及的是不同层面的操作机制。这里我们将详细探讨这两个概念以及I/O模型。 首先,同步与异步是客户端(C端)调用服务端(S端)时的行为模式。同步...

    同步、异步IO

    总的来说,同步和异步IO是编程中的重要概念,它们关乎到系统的效率和响应能力。正确理解和运用这两种机制,可以帮助我们设计出更高效、更健壮的应用。在实际工作中,结合源码学习和利用合适工具,将有助于我们更好地...

    同步与异步--阻塞与非阻塞型IO

    ### 同步与异步——阻塞与非阻塞型IO详解 #### 一、引言 在计算机科学中,I/O(输入/输出)操作是任何程序与外部世界交互的基础。根据I/O操作的不同特性,可以将其分为四大类:同步阻塞IO、同步非阻塞IO、异步阻塞...

    同步、异步、阻塞、非阻塞的区别

    **同步**和**异步**是计算机编程中非常重要的概念,尤其是在多线程编程、网络通信以及操作系统中有着广泛的应用。这两个概念主要涉及的是**消息的通知机制**。 1. **同步**:在这种情况下,消息的发送者必须等待...

    Java NIO:浅析IO模型_动力节点Java学院整理

    本文将从同步和异步的概念开始,然后介绍阻塞和非阻塞的区别,接着介绍阻塞IO和非阻塞IO的区别,最后介绍五种IO模型和两种高性能IO设计相关的设计模式(Reactor和Proactor)。 一、同步和异步 同步和异步是IO模型...

    Java IO应届生培训讲义

    Java IO(输入/输出)是Java编程中用于处理数据流和实现数据读写的API集合。Java IO应届生培训讲义是一份面向刚毕业的大学生进行Java IO相关知识的培训资料,它涵盖了Java IO的基础知识、不同的IO模型以及Java中的...

    高性能网络编程必备技能之IO与NIO阻塞分析

    Java NIO.2(New IO 2,也称为NIO2)在Java 7中引入,提供了更友好的API,如AsynchronousServerSocketChannel和AsynchronousSocketChannel,引入了异步I/O的概念,进一步提升了处理能力。 总之,理解并熟练掌握Java...

    IO网络编程

    在网络编程中,IO模型主要包括同步阻塞IO、同步非阻塞IO、I/O复用、信号驱动IO和异步非阻塞IO。其中,同步阻塞IO是最常见的模型,程序在等待数据准备好时会被挂起。同步非阻塞IO则允许程序在数据未准备好时返回并...

    2-Socket阻塞与非阻塞,同步与异步、IO模型-120412发布1

    在IT领域,特别是网络编程中,我们经常遇到“同步”、“异步”、“阻塞”和“非阻塞”这些概念。这些术语是理解和优化应用程序性能的关键,特别是涉及到客户端(C端)与服务器(S端)之间的通信时。 首先,让我们...

    04-IO控制.zip

    在本主题"04-IO控制"中,我们将深入探讨IO模型、同步与异步IO、阻塞与非阻塞IO、缓冲IO、多路复用IO、信号驱动IO以及异步IO模型,这些都是理解操作系统如何高效处理IO操作的关键概念。 1. **IO模型**:IO模型主要有...

    IO和线程java输入输出 多线程

    Java中的IO(输入/输出)和线程是两个核心概念,它们在开发高效、响应性强的应用程序时起着至关重要的作用。输入/输出处理数据的传输,而多线程则涉及程序的并发执行。 首先,让我们深入理解Java的IO系统。Java.IO...

    同步与异步IO、阻塞与非阻塞IO

    同步与异步、阻塞与非阻塞是计算机科学中关于I/O操作的两种关键概念,它们描述的是程序处理输入/输出(IO)时的不同方式。 同步与异步主要涉及的是程序等待IO操作完成的方式。同步IO指的是在发出IO请求后,程序会...

    网络编程IO模型源代码

    IO模型主要有五种:同步阻塞IO、同步非阻塞IO、I/O多路复用、信号驱动IO和异步非阻塞IO。每种模型都有其特点和适用场景: 1. **同步阻塞IO**:这是最基础的模型,当进行IO操作时,进程会被阻塞,直到IO操作完成。...

    PC三级考试中的IO.ASM

    总的来说,IO.ASM是PC三级考试中的一个重要环节,它涉及了计算机硬件交互的基础知识,包括I/O操作、中断处理、同步机制等。掌握这部分内容,不仅能提升考生的理论素养,也有助于培养实际操作技能。

    IO进程.rar_IO进程基础课程_chairaj4

    9. **并发与并行**:区分并发和并行的概念,理解它们在IO操作中的不同角色。 通过这门基础课程,新手能够从理论到实践,系统地掌握IO进程的基础知识,为后续更深入的学习和开发打下坚实基础。课程中的代码注释将...

    WinSock 异步IO模型

    例如,文件名中的"IOTest1"到"IOTest5"可能代表了一系列测试程序,用于验证和比较不同IO模型(同步、异步)在处理网络请求时的性能和效率。 在编写异步IO程序时,需要注意以下几点: 1. **错误处理**:异步IO可能会...

    linux io 模型

    linux io模型,区分阻塞非阻塞同步异步的概念,从底层理解io。

Global site tag (gtag.js) - Google Analytics