一。四种io阻塞1.io阻塞:(1 等待数据处于阻塞状态(2从内核copy到用户态处于阻塞状态2.非io阻塞只有从内核copy到用户态处于阻塞状态3.io多路复用 》优势:可以同时监听多个对象(1从check 》ready 通过selec函数来做,处于阻塞状态(2从内核copy到用户态处于阻塞状态3 ...
分类:
其他好文 时间:
2019-12-28 13:17:45
阅读次数:
161
为什么MySQL数据库索引选择使用B+树? 在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小伙伴对数据结构中的树还是有些许模糊的,因此我们由浅入深一步步探讨树的演进过程,在一步步引出B树以及为什么MySQL数据库索引选择使用B+树! 学过数据结构的一般对最基础的树都有所认识,因 ...
分类:
数据库 时间:
2019-12-27 11:46:54
阅读次数:
99
1、PHP+nginx+php-fpm的运行机制和原理 总结: 1、nginx和php-fpm都是多进程,一个进程只有一个线程; 2、nginx一个线程是非阻塞/io多路复用/epoll模型,将请求分发后无需等待,仅监听回调结果 3、php-fpm一个线程是阻塞模型,必须等待该客户端请求php服务端 ...
分类:
Web程序 时间:
2019-12-20 12:14:51
阅读次数:
112
引言 IO模型就是操作数据输入输出的方式,在Linux系统中有5大IO模型:阻塞式IO模型、非阻塞式IO模型、IO复用模型、信号驱动式IO模型、异步IO模型。 因为学习Netty必不可少的要了解IO多路复用模型,本篇是基础。 名词概念 阻塞:指向调用方,在调用结果返回之前,调用方线程会挂起,直到结果 ...
分类:
Web程序 时间:
2019-12-01 20:42:29
阅读次数:
94
引言 前面学习了NIO与零拷贝、IO多路复用模型、Reactor主从模型。 服务器基于IO模型管理连接,获取输入数据,又基于线程模型,处理请求。 下面来学习Netty的具体应用。 1、Netty线程模型 Netty线程模型是建立在Reactor主从模式的基础上,主从 Rreactor 多线程模型: ...
分类:
Web程序 时间:
2019-12-01 20:31:22
阅读次数:
112
原文链接:https://www.cnblogs.com/zingp/p/6863170.html https://www.cnblogs.com/guxuanqing/p/10482066.html 网络编程里常听到阻塞IO、非阻塞IO、同步IO、异步IO等概念,总听别人装13不如自己下来钻研一下 ...
分类:
其他好文 时间:
2019-11-23 21:59:08
阅读次数:
90
"""io多路复用 select select tcp 服务"""from socket import *from select import * s = socket()# 创建套接字,监听连接s.setsockopt(SOL_SOCKET, SO_REUSEADDR, True)s.bind(( ...
分类:
其他好文 时间:
2019-11-19 13:50:06
阅读次数:
71
编者注:Netty是Java领域有名的开源网络库,特点是高性能和高扩展性,因此很多流行的框架都是基于它来构建的,比如我们熟知的Dubbo、Rocketmq、Hadoop等。本文就netty线程模型展开分析讨论下 : ) IO模型 BIO:同步阻塞IO模型; NIO:基于IO多路复用技术的“非阻塞同步 ...
分类:
编程语言 时间:
2019-11-17 10:28:47
阅读次数:
86
引言 实现并发编程有进程,线程,IO多路复用的方式。(并发和并行我们这里不区分,如果CPU是多核的,可能在多个核同时进行,我们叫并行,如果是单核,需要排队切换,我们叫并发) 进程和线程的区别 进程是计算机资源分配的最小单位,进程是对处理器资源(CPU),虚拟内存(1)的抽象, 虚拟内存是对主存资源( ...
分类:
其他好文 时间:
2019-10-28 13:08:40
阅读次数:
92
select是IO多路复用的一种方式,用来等待一个列表中的多个描述符的可读可写状态; 本文主要分析socket的select操作,所以对于select系统调用前面通用的部分,我们只分析其调用关系,如下,可见在do_select函数中,会调用文件操作的poll函数; socket文件操作结构实现如下, ...
分类:
其他好文 时间:
2019-10-27 23:07:23
阅读次数:
83