首页 > 编程知识 正文

JAVA并发编程框架,java高并发源码框架

时间:2023-05-05 03:04:09 阅读:37996 作者:3660

我使用的JAVA NIO、一般常用的高并发IO框架也在使用它进行扩展。

jdk1.4中开始使用的Java NIO可以说是“新的I/O”,也可以说是无阻塞I/O。 以下是java NIO的工作原理。

1 .负责通过一个专用线程处理和分发所有IO事件。

2 .事件驱动机制:事件到达时触发。 不是同步监视事件。

3 .线程通信:线程之间通过wait、notify等进行通信。 保证每次上下文切换都有意义。 减少不必要的线程切换。

Java NIO的服务器端只是启动专用线程来处理所有IO事件,那么这种通信模型是如何实现的呢? 呵呵,一起探索那个神秘吧。 java NIO使用双向通道(而不是单向流(stream ) ),可以注册对通道感兴趣的事件。 有以下四个活动:

事件名称对应值

服务端接收客户端连接事件selectionkey.op_accept(16 )

客户端连接服务端事件selectionkey.op_connect(8) ) )。

阅读事件selectionkey.op_read(1)

写事件selectionkey.op_write(4)

服务端和客户端分别管理着管理通道的对象。 这叫做选择器。 此对象检测一个或多个通道上的事件。 例如,如果在服务端的selector中注册了读取事件,则客户端会在某个时间点向服务端发送数据,调用阻止I/O时读取)方法进行阻止并读取数据,而NIO的服务端则服务端处理线程通过轮询访问selector,如果访问selector时感兴趣的事件到达,则处理这些事件;如果感兴趣的事件没有到达,则处理线程直到感兴趣的事件到达以下是我理解的java NIO通信模型的图像。

取消

评论

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。