Netty线程模型 其中ChannelPiepline的设计模型采用的是Handler组成的责任链模型 blocking I/O 阻塞nonblocking I/O 非阻塞I/O multiplexing (select and poll) 多路复用signal driven I/O (SIGIO) ...
分类:
编程语言 时间:
2019-06-29 10:38:38
阅读次数:
99
背景 当我们需要同时处理一批任务时,并需要在任务完成时,可以获得任务的结果时,我们该怎么办呢。 第一种方案是:保存每一个任务关联的Future,然后主线程遍历每一个Future进行get,由于get会阻塞,我们只能设置timeot为0,但是这样会有比较大的性能消耗。 第二种方案:使用阻塞队列,每一个 ...
分类:
编程语言 时间:
2019-06-29 00:58:34
阅读次数:
126
java.nio全称java non-blocking IO,是指jdk1.4 及以上版本里提供的新api(New IO) ,为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络。 1、 中文名:java非阻塞式IO外文名:java nio缓冲区:数 ...
分类:
编程语言 时间:
2019-06-27 14:54:06
阅读次数:
129
下面都是以网络读数据为例 【2阶段网络IO】 第一阶段:等待数据 wait for data 第二阶段:从内核复制数据到用户 copy data from kernel to user 下面是5种网络IO模型 【阻塞blocking IO】 两阶段全程阻塞 recvfrom -> [syscall ...
分类:
其他好文 时间:
2019-06-26 09:32:55
阅读次数:
182
1.Netty 是什么? Netty 是一款基于 NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,对比于 BIO(Blocking I/O,阻塞IO),他的并发性能得到了很大提高。难能可贵的是,在保证快速和易用性的同时,并没有丧失可维护性和性能等优势。 2.Netty 的特点 ...
分类:
Web程序 时间:
2019-06-23 20:57:17
阅读次数:
115
通过Java指南我们知道Java集合框架(Collection Framework)如何为并发服务,我们应该如何在单线程和多线程中使用集合(Collection)。 话题有点高端,我们不是很好理解。所以,我会尽可能的描述的简单点。通过这篇指南,你将会对Java集合由更深入的了解,而且我敢保证,这会对 ...
分类:
编程语言 时间:
2019-06-14 18:30:17
阅读次数:
120
一、APScheduler简介: Python的一个定时任务框架,满足用户定时执行或者周期性执行任务的需求,提供了基于日期date、固定的时间间隔interval、以及类似于Linux上的定时任务crontab类型的定时任务。并且该框架不仅可以添加、删除定时任务,还可以将任务存储到数据库中,实现任务 ...
分类:
其他好文 时间:
2019-06-13 00:42:00
阅读次数:
103
BIO(blocking io,同步阻塞) 场景:客户端向服务端发送请求,服务端会为每个客户端建立一个线程来响应,问题来了,如果客户端出现了延时等异常,服务端为客户端建立的线程,就会一直出于等待状态,这个线程就会占用很长时间(因为数据的准备和处理都在这个线程上完成),更糟糕的是,如果有大量并发访问, ...
分类:
编程语言 时间:
2019-06-04 22:54:07
阅读次数:
249
同步和异步关注的是消息通信机制 (synchronous communication/asynchronous communication) 同步请求,A调用B,B的处理是同步的,在处理完之前他不会通知A,只有处理完之后才会明确的通知A。 异步请求,A调用B,B的处理是异步的,B在接到请求后先告诉A ...
分类:
其他好文 时间:
2019-05-24 12:56:55
阅读次数:
103