借用"OpenResty最佳实践"的话 https://moonbingbing.gitbooks.io/openresty-best-practices/ngx_lua/block_io.htmlNginx 为了减少系统上下文切换,它的 worker 是用单进程单线程设计的,事实证明这种做法运行效率很高。Nginx 要么是在等待网络讯号,要么就是在处理业务(请求数据解析、过滤、内容应答等),没有
转载
2024-03-14 08:06:53
62阅读
IO分为内存IO,网络IO,磁盘IO
IO模型:
同步IO模型:
同步阻塞:一个进程对应一个IO,进程在运行时,不能去干别的,一直等待
同步非阻塞:一个进程对应一个IO,进程运行时,可以去做别的事,等待别的程序的数
据传输,进程会定时询问是否准备完成
多路访问的IO模型--IO复用(select poll epoll)
多线程运行
这种情况适合大并发请求的情况,
异步IO模型:
*异步10*
进程
转载
2024-05-08 10:09:19
34阅读
$ pstree |grep nginx
|-+= 81666 root nginx: master process nginx
| |--- 82500 nobody nginx: worker process
| \--- 82501 nobody nginx: worker process1个master进程,2个work进程 注意:Input/Output====I/O每进来一个re
转载
2024-02-19 10:26:02
66阅读
同步与异步同步和异步关注的是消息通信机制(synchronous communication/ asynchronous communication)。
原创
2022-08-17 01:31:37
479阅读
阻塞排队买东西 在排队的过程中不能做其他事情非阻塞我在排队的过程中还可以玩手机 聊天等同步你等待事件返回结果异步不用等待事件返回结果事件会主动回调你...
原创
2022-12-13 10:23:24
505阅读
同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)。所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者*主动等待这个*调用*的结果。而异步则是相反,*调用*在发出之后,这个调用就直接返回了,所以没有返回结
转载
2017-07-11 16:11:35
1130阅读
Nginx是什么Nginx同Apache一样都是一种WEB服务器。Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器,Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。nginx高并发原理( 多进程+epoll实现高并发 )Nginx 在启动后,会有一个 master 进程和多个相互独立的 worker 进程。每个子进程只
转载
2024-05-06 21:27:18
41阅读
最近一直在看跟IO模型有关的内容,感觉差不多理解了,于是开始写这一篇总结博客。针对的操作系统为UNIX/LINUX,大致的体系结构如上图。操作系统中的客体主要包括了:文件,Socket和进程,本文主要讨论与IO相关的文件和Socket。IO主要分为文件IO和网络IO,文件IO也就是对文件的读写,网络IO是利用socket进行数据传输,socket是对TCP/IP协议的封装而
转载
2023-11-23 16:11:19
104阅读
在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。 在比较这两个模式之前,我们首先的搞明白几个概念,什么是阻塞和非阻塞,什么是同步和异步,同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而异步是指用户进程
转载
2022-06-09 06:35:49
516阅读
同步异步,阻塞非阻塞 和nginx的IO模型 原文:https://.cnblogs.com/wxl-dede/p/5134636.html 同步与异步 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication
转载
2018-04-02 15:29:00
88阅读
2评论
同步、异步:针对发送方阻塞、非阻塞:针对接收方发送方接收方发送方处理接收方处理同步阻塞等待接收方返回等待处理结果返回发送方同步非阻塞等待接收方返回不等待处理结果,去做其他事情异步阻塞不等待接受方返回等待处理结果返回发送方异步非阻塞不等待接受方返回不等待处理结果,去做其他事情
原创
2017-09-25 17:29:26
1380阅读
推荐视频教程download: SpringBoot2.0深度实践之核心技术篇 : (http://www.notescloud.top/goods/detail/1310)<http://www.notescloud.top/goods/detail/1310 SpringBoot短视频小程序开发全栈式实战项
转载
2021-09-11 22:32:06
701阅读
Java NIO 之 Buffer Java NIO (Non Blocking IO 或者 New IO)是一种非阻塞IO的实现。NIO通过Channel、Buffer、Selector几个组件的协同实现提升IO效率的目的。而ByteBuffer是其中最基础的一种Buffer实现。 阻塞 or 非阻塞 阻塞/非阻塞,同步/异步是两组非常容易产生混淆的概念。同
转载
2024-07-08 14:39:59
24阅读
引言在进行I/O学习的时候,阻塞和非阻塞,同步和异步这几个概念常常被提及,但是很多人对这几个概念一直很模糊。要想学好Netty,这几个概念必须要掌握清楚。同步和异步同步与异步的区别在于,异步基于通知,当程序执行完毕后后,会有一个通知的机制来告知你程序执行完毕;而同步则没有,只能通过自己调用API去查询程序是否已经执行完毕。阻塞与非阻塞阻塞与非阻塞的却别在于,阻塞不能执行其他代码,必须等待结果返回。
转载
2023-10-23 19:32:40
13阅读
同步:函数没有执行完不返回,线程被挂起 阻塞:没有收完数据函数不返回,线程也被挂起异步:函数立即返回,通过事件或是信号通知调用者非阻塞:函数立即返回,通过select通知调用者这样看来异步和非阻塞有什么区别呢?异步=非阻塞?同步是在操作系统层面上,阻塞是在套接字上?Reactor是同步 Proactor是异步?回答:同步、异步、阻塞和非阻塞的概念 在进行网络编程时,我们常常见到同步、异步、阻塞和
翻译
精选
2013-06-01 23:38:41
622阅读
多线程、单线程、同步、异步、阻塞、非阻塞,都是独立的概念,只是在多数应用场景下,它们看上去一致了,所以造成了概念的混淆。 1,在多线程语境下的概念 在多线程语境下,用于描述任务的线程访问执行机制,同步和异步关注的是任务是否可以被同时调用,阻塞和非阻塞则关注的是线程的状态。 同步:指代码的同步执行(s
转载
2020-08-18 09:05:00
344阅读
2评论
一、状态介绍在了解其他概念之前,我们首先要了解进程的几个状态。在程序运行的过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行和阻塞。就绪(Ready)状态:当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。执行/运行(Running)状态当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。阻塞(Blocked)
原创
2021-04-15 20:20:52
822阅读
先说说阻塞与非阻塞,这主要和程序等待消息时的状态有关1、阻塞程序会阻塞在某一个函数,而不往下执行,就如挂在那里一样,所有的其他业务也都不执行,为一直等到消息到来才往下执行。2、非阻塞程序不会阻塞在某一个函数,不等待消息到来,立即返回,往下执行。举个例子,TCP协议中的send,系统会为其分配一块发送缓存区,假设现在总的缓存 区的大小为1000.,而缓存区里已经有了500个数据,这时调用send,发
原创
2022-12-06 08:47:42
278阅读
老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水
原创
2022-03-21 11:19:59
260阅读
举个打电话的例子: 阻塞/同步:打一个电话一直到有人接为止 非阻塞:打一个电话没人接,每隔10分钟再打一次,知道有人接为止 异步:打一个电话没人接,转到语音邮箱留言(注册),然后等待对方回电(call back) 看起来异步是最高效,充分利用资源,可以想像整个系统能支持大规模并发。但问题是调试很麻烦
转载
2020-06-04 22:47:00
311阅读
2评论