学习Netty框架以及相关源码也有一小段时间了,恰逢今天除夕,写篇文章总结一下。Netty是个高效的JAVA NIO框架,总体框架基于异步非阻塞的设计,基于网络IO事件驱动,主要贡献在于可以让用户基于Netty提供的API快速开发高性能、高可靠性的网络应用。这篇文章主要是介绍Netty框架的基础技术 ...
分类:
编程语言 时间:
2018-12-12 23:44:08
阅读次数:
257
原文:一文读懂阻塞、非阻塞、同步、异步IO介绍 在谈及网络IO的时候总避不开阻塞、非阻塞、同步、异步、IO多路复用、select、poll、epoll等这几个词语。在面试的时候也会被经常问到这几个的区别。本文就来讲一下这几个词语的含义、区别以及使用方式。Unix网络编程一书中作者给出了五种IO模型:... ...
分类:
其他好文 时间:
2018-12-10 18:22:55
阅读次数:
323
1、基本原理 采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络IO的时间消耗) (1)为什么不采用多进程或多线程处理? (2)单线程处理的缺点? 2、Redis不存在线程安全问题? Redis采用了线程封闭的方式,把任务封闭在一个线程,自然避免了线程安全问题,不过对于需要 ...
分类:
编程语言 时间:
2018-12-05 20:32:12
阅读次数:
190
本文你将获得以下信息:线程池源码解读线程池执行流程分析带返回值的线程池实现延迟线程池实现为了方便读者理解,本文会由浅入深,先从线程池的使用开始再延伸到源码解读和源码分析等高级内容,读者可根据自己的情况自主选择阅读顺序和需要了解的章节。一、线程池优点线程池能够更加充分的利用CPU、内存、网络、IO等系统资源,线程池的主要作用如下:利用线程池可以复用线程,控制最大并发数;实现任务缓存策略和拒绝机制;实
分类:
编程语言 时间:
2018-11-19 20:27:06
阅读次数:
236
1..网络IO的两个阶段 waitdata :网络传输的等待时间 Copydata:应用程序复制到系统内存的时间 2.阻塞IO模型 多线程 多进程 还是 线程池 进程池等 都是阻塞 3.非阻塞IO模型 在非阻塞io中 需要不断循环询问操作是否有需要处理的数据 这一来 对应程序而言 效率确实高 但是操 ...
分类:
其他好文 时间:
2018-11-14 22:39:42
阅读次数:
173
1.网络IO的两个阶段 waitdata copydata send 先经历:copydata阶段 recv 先经历:waitdata阶段 再经历 copydata阶段2.阻塞的IO模型 之前写的都是阻塞 无论多线程 多进程 还是进程池 线程池3.非阻塞IO模型 非阻塞:最直接的体现 所有和读写相关 ...
分类:
其他好文 时间:
2018-11-14 21:00:07
阅读次数:
222
1.多线程网络IO请求: #!/usr/bin/python #coding:utf-8 from concurrent.futures import ThreadPoolExecutor import requests #线程池 # def get_page(url): # response = ...
分类:
编程语言 时间:
2018-11-11 16:54:28
阅读次数:
199
I/O介绍I/O:?网络IO:本质是socket读取?磁盘IO:每次IO,都要经由两个阶段:?第一步:将数据从磁盘文件先加载至内核内存空间(缓冲区),等待数据准备完成,时间较长?第二步:将数据从内核缓冲区复制到用户空间的进程的内存中,时间较短I/O模型Linux下的五种I/O模型1)阻塞I/O(blockingI/O)2)非阻塞I/O(nonblockingI/O)3)I/O复用(select和p
分类:
其他好文 时间:
2018-11-09 18:19:55
阅读次数:
187
评估、监控、性能定位和优化 磁盘 IO 和 网络 IO
分类:
其他好文 时间:
2018-11-07 20:05:46
阅读次数:
147
jmeter plugin监控的信息很少,只有cpu、内存、网络IO,但这些是不够的。例如对于分析mysql数据库的慢查询、最大连接数等更加细密度的信息。 服务端稳定测试的三个前提: 1.应用级别的自动化测试。针对整个系统进行评测,而不是单独某一个模块,自动化用例要覆盖系统业务场景的80%以上。自动 ...
分类:
其他好文 时间:
2018-11-05 11:35:56
阅读次数:
477