evutil: 用于抽象不同平台网络实现差异的通用功能。 event和event_base: libevent的核心,为各种平台特定的、基于事件的非阻塞 IO后端提供抽象API,让程序可以知道套接字何时已经准备好,可以读或者写,并且处理基本的超时功能,检测OS信号。用 libevent 函数之前需要 ...
分类:
其他好文 时间:
2020-02-12 13:08:43
阅读次数:
64
一.IO多路复用 前面用协程实现IO阻塞自动切换,‘如何去实现事件驱动的情况下IO的自动阻塞的的切换,这个学名叫IO多路复用。 比如socketsew64hmay'y'yver,多个客户端连接,单线程下实现并发效果,这就叫多路复用. 同步io和异步IO,阻塞IO和非阻塞IO的区别? 二.IO模型的前 ...
分类:
其他好文 时间:
2020-02-12 13:03:22
阅读次数:
69
IO系统 驱动程序对控制器操作,控制器管理具体设备 这种使用的是通道,由通道对控制器进行管理 驱动程序的层次: 操作系统提供驱动程序的规范,具体驱动大多数由硬件开发商开发 设备类型 块设备就是以块为单位进行读写的设备,而相应的,字符设备就是以字符为基本单位的设备 所以说,块设备的处理和字符设备的处理 ...
分类:
其他好文 时间:
2020-02-09 23:35:42
阅读次数:
123
上一篇我们看了一下这个队列ConcurrentLinkedQueue,那就是一个无界非阻塞链表,我们这次来看看LinkedBlockingQueue,这个队列看名字就知道是一个阻塞式队列(也就是一个单向链表),基于独占锁实现的,比较简单; 一.LinkedBlockingQueue基本结构 内部也是 ...
分类:
数据库 时间:
2020-02-08 22:04:59
阅读次数:
108
原文:redis单线程如何支持高并发 redis支持高并发的原因: redis是基于内存的,内存读写很快 redis的是单线程的,省去了很多多线程上下文切换的时间 redis虽然是单线程,但采用了IO多路复用技术,非阻塞IO,即多个网络连接复用一个线程,保证多连接的同时增加系统的吞吐量 redis的... ...
分类:
编程语言 时间:
2020-02-08 15:49:36
阅读次数:
78
然后 保存,在这里 重命名窗口 NewForm2.UniForm1.Show() ; //非阻塞 // NewForm2.UniForm1.ShowModal();//阻塞 ...
分类:
其他好文 时间:
2020-02-08 13:44:25
阅读次数:
94
redis支持高并发的原因: redis是基于内存的,内存读写很快 redis的是单线程的,省去了很多多线程上下文切换的时间 redis虽然是单线程,但采用了IO多路复用技术,非阻塞IO,即多个网络连接复用一个线程,保证多连接的同时增加系统的吞吐量 redis的数据结构,采用hash,读取速度比较快 ...
分类:
编程语言 时间:
2020-02-08 13:28:35
阅读次数:
70
并发编程之进程与线程 2.1 线程与进程 2.1.1 进程 2.1.2 线程 2.1.3 二者对比 2.2 并行与并发 2.3 应用 2.1 线程与进程 2.1.1 进程 程序指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络 ...
分类:
编程语言 时间:
2020-02-06 12:24:53
阅读次数:
70
我的博客: https://www.luozhiyun.com/archives/217 想要学好 OpenResty,你必须理解下面 8 个重点: 同步非阻塞的编程模式; 不同阶段的作用; LuaJIT 和 Lua 的不同之处; OpenResty API 和周边库; 协程和 cosocket; ...
分类:
其他好文 时间:
2020-02-06 00:58:41
阅读次数:
90
大白话五种IO模型 [TOC] 一、I/O模型介绍 为了更好地了解I/O模型,我们需要事先回顾下: "同步、异步、阻塞、非阻塞" 同步(synchronous) I/O和异步(asynchronous) I/O,阻塞(blocking) I/O和非阻塞(non blocking)I/O分别是什么,到 ...
分类:
其他好文 时间:
2020-02-04 14:12:09
阅读次数:
84