ICode9

精准搜索请尝试: 精确搜索
  • node.js事件循环2020-03-02 23:51:53

    Nodejs事件循环 (event loop) node.js 事件循环的概念 当node.js 启动的时候会初始化eventloop ,每一个evnet loop 都会包含如下6个循环阶段,node.js 事件循环和浏览器事件循环完全不一样。 官网文档:https://nodejs.org/zh-cn/docs/guides/event-loop-timers-and-nexttick/ timers

  • kafka Poll轮询机制与消费者组的重平衡分区策略剖析2020-02-28 10:04:20

    注意本文采用最新版本进行Kafka的内核原理剖析,新版本每一个Consumer通过独立的线程,来管理多个Socket连接,即同时与多个broker通信实现消息的并行读取。这就是新版的技术革新。类似于Linux I/O模型或者Select NIO 模型。 Poll为什么要设置一个超时参数 条件: 1:获取足够多的可用数据 2

  • Nginx之epoll和select poll2020-02-26 13:57:17

    epoll和 select poll 都是做I/O多路复用的。 区别在于: epoll较灵活,如果有一百万个链接状态同时保持,但是在某个时刻,只有几百个链接是活跃的。epoll的处理是通过epoll_create()创建对象,epoll_ctl()收集所有的套接字添加到epoll对象,epoll_wait()收集所有发生事件也就是所谓的活跃的

  • IO 多路复用是什么意思?2020-02-24 11:01:53

    假设你是一个机场的空管, 你需要管理到你机场的所有的航线, 包括进港,出港, 有些航班需要放到停机坪等待,有些航班需要去登机口接乘客。 你会怎么做? 最简单的做法,就是你去招一大批空管员,然后每人盯一架飞机, 从进港,接客,排位,出港,航线监控,直至交接给下一个空港,全程监控。 那么问题就来

  • 深入浅出Rust异步编程之Tokio2020-02-21 17:40:29

    本文以tokio为例简单介绍Rust异步编程相关的一些知识。 首先让我们看看为什么使用rust来进行异步编程。这里tokio官方给出了一个性能测试的对比,可以看到tokio是性能最好,实际上运行这个基准测试的时候,tokio性能更好的2.0版本尚未发布,否则估计性能还有很大提升。因此,我们可以认为

  • 栈和队列2020-02-19 20:04:02

    题目一 两个栈实现队列 使用两个栈,一个栈专门add数据,一个栈专门poll数据 public class MyQueue<T> { private Stack<T> addStack = new Stack<T>(); private Stack<T> popStack = new Stack<T>(); public MyQueue() { } public boolean add(T t) {

  • Linux2.6.9内核源码分析--eventpoll2020-01-27 18:03:08

    Linux2.6.9内核源码分析–eventpoll eventpoll epoll分为三个系统调用: long sys_epoll_create(int size); long sys_epoll_ctl(int epfd, int op, int fd, struct epoll_event __user *event); long sys_epoll_wait(int epfd, struct epoll_event __user *events, int maxe

  • linux poll机制使用(一)2020-01-26 14:02:17

    一、poll机制的作用 1.poll机制的作用 在前面的使用中断的的方式来读取按键值(linux 中断管理(四))。使用这种方式读取按键,如果按键没有按下的时候,应用程序会一直处于睡眠的状态。如果想要即使按键没有按下,在一定的时间后也能返回,要实现这种功能,可以使用poll机制。(select IO复用

  • java - 阻塞队列2020-01-24 20:53:16

    阻塞队列各实现类 类 说明 ArrayBlockingQueue 由数组结构组成的有界阻塞队列 LinkedBlockingQueue 由链表结构组成的有界阻塞队列(默认容量为Integer.MAX_VALUE) PriorityBlockingQueue 支持优先级排序的无界阻塞队列 DelayQueue 使用优先级队列实现的延迟无界阻塞队

  • select,poll,epoll之间的区别2020-01-13 22:03:06

    (1)select==>时间复杂度O(n) 它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。 (2)poll==>时

  • Select Poll Epoll2020-01-13 17:03:27

    上一篇文章我们已经介绍过了集中常用的 IO 模型了。IO 多路复用模型是我们用的最多的一种 IO 模型。select,poll,epoll 都是 IO 多路复用的机制。I/O 多路复用就是通过一种机制,一个进程可以监视多个描述符。一旦某个描述符就绪(读或者写就绪),就通知程序进行相应的读写操作。 select,pol

  • Kafka--Consumer消费者2020-01-13 12:52:05

    转:https://www.cnblogs.com/dingwpmz/p/12185196.html 温馨提示:整个 Kafka 专栏基于 kafka-2.2.1 版本。 1、KafkaConsumer 概述 根据 KafkaConsumer 类上的注释上来看 KafkaConsumer 具有如下特征: 在 Kafka 中 KafkaConsumer 是线程不安全的。 2.2.1 版本的KafkaConsumer 兼容

  • 协程,yield,i多路复用,复习2019-12-21 11:51:28

    课程回顾:   线程池   队列:同一进程内的队列     先进先出  后进先出  优先级队列   线程池中的回调函数是谁在调用?     线程池中的回调函数是子线程调用的,和父线程没有关系     进程池中的会点函数是父进程调用的,和子进程没有关系     今日内容:  

  • select、poll、epoll优缺点2019-12-10 21:00:09

    select、poll、epoll都是IO多路复用。  I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞

  • I/O多路复用模型2019-11-24 17:53:49

    背景 在文章《unix网络编程》(12)五种I/O模型中提到了五种I/O模型,其中前四种:阻塞模型、非阻塞模型、信号驱动模型、I/O复用模型都是同步模型;还有一种是异步模型。 想写一个系列的文章,介绍从I/O多路复用到异步编程和RPC框架,整个演进过程,这一系列可能包括: I/O多路复用模型 epoll介绍

  • Queue的remove()和poll()方法有什么区别?2019-11-20 21:55:39

    Queue 中 remove() 和 poll() 都是用来从队列头部删除一个元素。 在队列元素为空的情况下,remove() 方法会抛出NoSuchElementException异常,poll() 方法只会返回 null 。   JDK1.8 中的源码解释 /** * Retrieves and removes the head of this queue. This method differs * fr

  • IO模型2019-11-20 18:02:27

      阅读目录 一 IO模型介绍 二 阻塞IO(blocking IO) 三 非阻塞IO(non-blocking IO) 四 多路复用IO(IO multiplexing) 五 异步IO(Asynchronous I/O) 六 IO模型比较分析 七 selectors模块 IO模型介绍   为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞  

  • 使用D3.js构建实时图形2019-11-13 20:52:09

    首先你需要在计算机上安装Node和npm。 数据的可视化表示是传递复杂信息的最有效手段之一,D3.js提供了创建这些数据可视化的强大工具和灵活性。 D3.js是一个JavaScript库,用于使用SVG,HTML和CSS在Web浏览器中生成动态的交互式数据可视化。 在本教程中,我们将探讨如何使用D3.js和Pusher

  • modbus-poll和modbus-slave工具的学习使用——环境搭建2019-11-10 19:55:25

    在modbus的学习工具中,非modbus-poll和modbus-slave莫属了,在电脑上模拟的过程中,两者缺一不可 ,当然还需要虚拟串口工具:Configure Virtual Serial Port Driver,这样可以创建虚拟的串口,而不是物理串口。 网上都有软件可以使用,当然也可以和谐使用,仅限学习。学习好后,可以自定义上位机,这样

  • python select epoll poll的解析2019-11-08 14:01:05

    select、poll、epoll三者的区别  select  select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组(在linux中一切事物皆文件,块设备,socket连接等。),当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位(变成ready),使得进程可以获得这些

  • IO操作2019-10-26 12:06:25

    文章目录IO简介IO分类阻塞IO非阻塞IOIO多路复用select位运算poll IO简介 IO input output 在内存中存在数据交换的操作都可以认为是IO操作 和终端交互 : input print 和磁盘交互 : read write 和网络交互 : recv send IO密集型程序 : 在程序执行过程中存在大量IO操

  • 网络IO驱动2019-10-25 15:56:14

    1、select: select库是在linux和windows平台都基本支持的 事件驱动模型库,并且在接口的定义也基本相同,只是部分参 数的含义略有差异,最大并发限制1024,是最早期的事件驱动模型。  2、poll: 在Linux 的基本驱动模型,windows不支持此驱动模型,是select的升级版,取消了最大的并发限制,在编译 n

  • Netty系列---IO多路复用技术2019-10-24 20:03:07

    形成的原因: 如果一个I/O流进来,我们就开启一个进程处理这个I/O流。那么假设现在有一百万个I/O流进来,那我们就需要开启一百万个进程一一对应处理这些I/O流(——这就是传统意义下的多进程并发处理)。思考一下,一百万个进程,你的CPU占有率会多高,这个实现方式及其的不合理。所以人们提

  • LDD3源码分析之poll分析2019-10-23 20:02:59

    编译环境:Ubuntu 10.10 内核版本:2.6.32-38-generic-pae LDD3源码路径:examples/scull/pipe.c  examples/scull/main.c   本文分析LDD3第6章的poll(轮询)操作。要理解驱动程序中poll函数的作用和实现,必须先理解用户空间中poll和select函数的用法。本文与前面的文章介绍的顺序有所不

  • eventfd(2) 结合 select(2) 源码分析2019-10-18 20:54:18

    eventfd(2) 结合 select(2) 源码分析 本文代码选自内核 4.17 eventfd(2) - 创建一个文件描述符用于事件通知。 使用 源码分析 参考 #include <sys/eventfd.h> int eventfd(unsigned int initval, int flags); int eventfd2(unsigned int initval, int flags); 参数 - \initva

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有