美文网首页
阻塞和非阻塞

阻塞和非阻塞

作者: 爱抽烟的臭屁虫 | 来源:发表于2019-07-10 17:04 被阅读0次

含义:

阻塞:干不完不许回来

非阻塞:你先干,干完告诉我一声。

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

阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。

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

阻塞:

 阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回。有人也许会把阻塞调用和同步调用等同起来,实际上它们是不同的。对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回而已。例如,我们在CSocket中调用Receive函数,如果缓冲区中没有数据,这个函数就会一直等待,直到有数据才返回。而此时,当前线程还会继续处理各种各样的消息。如果主窗口和调用函数在同一个线程中,除非你在特殊的界面操作函数中调用,其实主界面还是应该可以刷新。socket接收数据的另外一个函数recv则是一个阻塞调用的例子。当socket工作在阻塞模式的时候, 如果没有数据的情况下调用该函数,则当前线程就会被挂起,直到有数据为止。

非阻塞:

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

相关文章

  • 非阻塞和阻塞

    ### 同步 任务的执行顺序和程序的执行顺序一致,所以是同步的。 ### 异步 每一个任务都有一个或多个回调函数,...

  • 阻塞和非阻塞

    含义: 阻塞:干不完不许回来 非阻塞:你先干,干完告诉我一声。 阻塞和非阻塞关注的是程序在等待调用结果(消息,返回...

  • 有关java多线程的文章

    先行概念 阻塞队列和非阻塞队列 阻塞和非阻塞队列的区别概念:https://www.cnblogs.com/min...

  • 谈论:同步异步阻塞非阻塞.md

    同步/异步:关注的方式(是否主动) 阻塞/非阻塞: 同步阻塞BIO: 同步非阻塞NIO: 异步非阻塞: 异步阻塞:

  • BIO NIO AIO

    IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 阻塞和非阻塞:是针对于进程在访...

  • 并发编程之并发队列

    常见的并发队列有2种:阻塞队列和非阻塞队列。阻塞队列使用锁实现,非阻塞队列使用CAS非阻塞算法实现。这2种队列都是...

  • java 并发集合

    阻塞集合和非阻塞集合 阻塞集合在增加或删除元素时如果集合已经满了或者集合为空会阻塞。 非阻塞集合不会阻塞而是根据不...

  • 好记性不如烂笔头——NIO学习笔记

    本文是对NIO知识的归纳与整理 1.阻塞与同步 1)阻塞(Block)和非租塞(NonBlock): 阻塞和非阻塞...

  • IO多路复用 2021-10-03

    阻塞和非阻塞 进程进入waiting状态,就是阻塞阻塞/非阻塞,关注的是调用方的状态,往往是与系统调用(syste...

  • node 阻塞和非阻塞

    阻塞处理 非阻塞处理 使用回调函数可以防止node.js在运行时一个函数执行时等待上一个函数执行完 所要花费的不必要时间

网友评论

      本文标题:阻塞和非阻塞

      本文链接:https://www.haomeiwen.com/subject/vvzhkctx.html