ICode9

精准搜索请尝试: 精确搜索
  • Netty实战三之Netty的组件和设计2021-01-08 21:56:59

    有关Netty,我们可以从两个视角来讨论Netty:类库的视角以及框架的视角,对于使用Netty编写高效的、可重用的和可维护的代码来说,两者缺一不可。 Netty解决了两个响应的关注领域,可以大致标志为技术的和体系结构的。 它基于Java NIO的异步和事件驱动的实现,保证了高负载下应用程序性能的最大

  • Netty实战七之EventLoop和线程模型2021-01-08 21:55:06

    简单地说,线程模型指定了操作系统、编程语言、框架或者应用程序的上下文中的线程管理的关键方面。Netty的线程模型强大但又易用,并且和Netty的一贯宗旨一样,旨在简化你的应用程序代码,同时最大限度地提高性能和可维护性。 1、线程模型概述 线程模型确定了代码的执行方式,由于我们总是必

  • 关于EventLoop的简单理解2021-01-08 19:00:21

    个人博客网站欢迎交流:萤火之森:https://blog.xkongkeji.com EventLoop出现的目的 js单线程 众所周知js是单线程的,那为什么是单线程嘞,作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定JavaScript

  • Netty整体介绍和架构认知2021-01-07 17:00:22

    一、初识Netty 1.1 本质:网络应用程序框架 Netty 是一款用于高效开发网络应用的 NIO 网络框架,它大大简化了网络应用的开发过程。我们所熟知的 TCP 和 UDP 的 Socket 服务器开发,就是一个有关 Netty 简化网络应用开发的典型案例。 既然 Netty 是网络应用框架,那我们永远绕不开以

  • EventLoop 事件循环机制详解2021-01-01 18:04:25

    首先清楚javaScript这门语言是一门单线程非阻塞的脚本语言。 单线程是指在执行javascript代码的时候,只有一个主线程按照一定的顺序执行任务。 非阻塞是指当代码需要进行一项异步任务,的时候,主线程会挂起这个任务,然后在异步结果返回时根据一定规则执行相应的回调。 单线程的缺

  • Netty2020-12-29 15:00:30

    1.Netty 基础概念 1.1 Netty 简介 Netty 是一个 NIO 客户端服务器框架,可快速轻松地开发网络应用程序,例如协议服务器和客户端。它极大地简化和简化了网络编程,例如 TCP 和 UDP 套接字服务器。 “快速简便”并不意味着最终的应用程序将遭受可维护性或性能问题的困扰。Netty 经过

  • 为什么单线程的Redis却能支撑高并发?2020-11-15 07:02:27

    最近在看 Unix 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用部分的实现非常干净和优雅,在这里想对这部分的内容进行简单的整理。几种 I/O 模型为什么 Redis 中要使用 I/O 多路复用这种技术呢?首先,Redis 是跑在单线程中的,所有的操作都

  • muduo源码解析30-网络库8:tcpserver类2020-09-02 19:31:20

    tcpserver: 说明: 之前说的acceptor负责接收连接,tcpconnection负责对这个连接进行操作。 那么这两个合起来就有一个tcpserver的基本架构了 tcpserver使用acceptor来接受一个连接,使用tcpconnection来对这个连接进行处理。 tcpserver.h /* TcpServer实现了对于TCP服务的封装,功能是管

  • Netty源码学习系列之1-netty的串行无锁化2020-05-30 20:02:37

    前言     最近趁着跟老东家提离职之后、到新公司报道之前的这段空闲时期,着力研究了一番netty框架,对其有了一些浅薄的认识,后续的几篇文章会以netty为主,将近期所学记录一二,也争取能帮未对netty有过了解的园友对netty建立一个完整的认识。netty作为一个优秀的网络框架,值得为其花费

  • 三、netty概览2020-05-20 11:04:25

    所有文章 https://www.cnblogs.com/lay2017/p/12922074.html   正文 为了了解netty的工作机制,这里有几个概念需要知道 1.BootStrap 2.EventLoopGroup 3.EventLoop 4.SocketChannel 5.ChanneInitializer 6.ChannelPipeline 7.ChannelHandler 这些概念关联关系如图    下面分别

  • Netty源码死磕一(netty线程模型及EventLoop机制)2020-05-19 19:58:52

    引言 好久没有写博客了,近期准备把Netty源码啃一遍。在这之前本想直接看源码,但是看到后面发现其实效率不高, 有些概念还是有必要回头再细啃的,特别是其线程模型以及EventLoop的概念。 当然在开始之前还是有务必要对IO模型要有清晰准确的认识。 传送门 事件循环机制(EventLoop) Netty

  • Netty源码分析——Channel注册2020-03-22 11:51:32

    这一节与上一节关联比较大,已经设计到netty比较核心的内容了,继续加油! 首先说一下,这里说的“注册”是什么意思,我当时看源码的时候对这里也比较困惑,纠结了好长时间。 其实简单来说就是将初始化好的channel与创建好的EventLoop关联起来,就是让EventLoop的线程run起来,一直监听这个channe

  • Netty中遇到的问题:ctx.writeAndFlush造成非连续的请求。2020-02-20 20:41:28

    目的 为了保证客户端的请求是顺序发送到服务端的,ctx.writeAndFlush被包装在用synchronized修饰的send方法中,客户端统一调用sendRequest方法。 有多个线程使用sendRequest方法 1.eventLoop处理channelRead的结果,并调用sendRequest发送到服务端。 2.业务线程(如心跳线程,http请

  • muduo网络库学习--封装2020-02-06 12:05:30

    muduo网络库学习--封装reactor模型EventLoop 自己是做驱动的,并不是后端工程师,因此学习Muduo过程中,有很重要的一个坎要迈过去。就是面向对象的封装。muduo很少用到类的继承,这给学习者或者维护者提供了很大的便利,无论是学习和维护,都变得可控,同时又降低了门槛。 本文分享了自己

  • EventLoop2020-01-29 16:03:09

    文章资料来自 Node.js 事件循环机制 JS灵魂之问(下) EventLoop的中国名字叫事件循环,这个玩意真的是高深莫测,一般开发都用不到,代码只管写就行,虽然不用懂,但是面试就是要问,这对我这种小菜鸡真是满满的恶意 先说说异步IO 这个在Linux笔记里有,但是异步IO只有 Linux 下存在,在其他系统

  • 线程组 NioEventLoopGroup2020-01-19 11:03:40

    一、EventLoop和EventLoopGroup EventLoop如同它的名字,它是一个无限循环(Loop),在循环中不断处理接收到的事件(Event)。 Netty线程模型的基石是建立在EventLoop上的,从设计上来看,EventLoop采用了一种协同设计,它建立在两个基本的API之上:Concurrent和Channel,也就是并发和网络。并发是因为

  • netty基础知识讲解2019-12-28 22:57:02

    EventLoopGroup表示线程池,EventLoop表示线程,channel表示通道(客户端和服务端的连接) EventLoopGroup包含EventLoop,一个EventLoop包含一个Selector,一个Selector可以处理多个channel new NioEventLoopGroup() 默认创建的线程池线程数量是系统cpu核数*2

  • 基于Netty的数采边缘实现2019-12-12 15:56:55

    背景介绍在设备数据采集方面,我们已经探索出一套成熟的做法即在设备侧部署一个边缘程序,通过定时拉取的机制到工控机如PLC的指定位置获取数据。但是对于机器人来说,不同型号的机器人控制设备都有自己不同程度的封装,我们需要严格按照机器人设备的数据开放方式进行定制化实现才有可能正

  • 事件循环--eventloop2019-11-07 20:57:02

    一、什么是事件循环? 事件循环是 JS 实现异步的具体解决方案,同步代码直接执行,异步函数或代码块先放在异步队列中,待同步函数执行完毕,轮询执行异步队列的函数。                                事件循环   二、node.js中的事件循环? 1.当收到一

  • Netty的常用API(二)2019-08-31 20:04:19

    在使用Netty之前先介绍下Netty的常用API,对其有一个大概的了解。 一、EventLoop和EventLoopGroup  Netty线程模型的基石是建立在EventLoop上的,从设计上来看,EventLoop采用了一种协同设计,它建立在两个基本的API之上:Concurrent和Channel,也就是并发和网络。并发是因为它采用了线程池来

  • Redis 事件机制详解2019-08-26 09:01:23

    Redis 采用事件驱动机制来处理大量的网络IO。它并没有使用 libevent 或者 libev 这样的成熟开源方案,而是自己实现一个非常简洁的事件驱动库 ae_event。 Redis中的事件驱动库只关注网络IO,以及定时器。该事件库处理下面两类事件: 文件事件(file  event):用于处理 Redis 服务器和

  • QEventLoop误区2019-08-07 13:43:09

    1.问题描述 伪代码如下: QEventLoop eventLoop; QObject::connect(this, &Class::signal, [](){ doSomething(); eventLoop.exit(0); }); emit signal(); eventLoop.exec(); 在执行eventLoop.exec()时,造成永不退出。 2.原因分析 本打算在,槽函数中执行doSomething()后,再继续

  • QT单进程下载2019-07-21 18:00:33

    QT    同步下载 #include <QNetworkAccessManager>#include <QNetworkRequest>#include <QNetworkReply>#include <QtCore>#include <iostream>using namespace std ;class TT : public QObject{ Q_OBJECTpublic: static QString getHtml(QS

  • 第5章 输入输出(下)2019-07-10 14:08:12

    5.5 Redis 对 epoll 的封装 5.6 Nginx 文件异步 I/O 5.7 tail 指令为何牛 5.8 零拷贝技术应用分析 5.8.1 mmap 5.8.2 sendfile 5.8.3 mmap 和 sendfile 在开源软件中的使用 5.9 本章小结   5.5 Redis 对 epoll 的封装 Redis 的作者和 Nginx 的作者一样,不喜欢引

  • EventLoop2019-06-14 21:38:14

    使用事件循环 Python3.4 采用了一个强大的框架来支持代码的并发执行: asyncio。这个框架使用事件循环来编排回调和异步任务。 事件循环位于事件循环策略的上下文中-这是asyncio所特有的概念。 下图是协程,事件循环和策略之间的相互作用 协程可以被认为是可以在明确标记有某种语法元

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

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

ICode9版权所有