02-伪异步I/O通讯模型

Posted 九师兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02-伪异步I/O通讯模型相关的知识,希望对你有一定的参考价值。


采用线程池和任务队列可以实现一种叫做伪异步的I/O通讯框架。

当有新的客户端接入的时候,将客户端的Socket封装成一个Task(该任务实现java.lang.Rnnnable接口)投递到后端的线程池中进行处理,JDK的线程池维护一个消息队列和N个活跃线程对消息队列中的人物进行处理。由于线程池可以设置消息队列大小和最大线程数,因此他占用的资源师可控的,无论多少个客户端并发访问,都不会导致资源耗尽和宕机。

服务器

package yibu.io;

import com.netty.bio.test.TimeServerHandler;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class TimeServer {
    public  static void main(String[] args) throws IOException {
    int port = 8080;
    ServerSocket serverSocket = null;
    try{
        serverSocket = new ServerSocket(port);
        System.out.println("==服务器运行端口=>"+port);
        Socket socket = null;
        Ti

以上是关于02-伪异步I/O通讯模型的主要内容,如果未能解决你的问题,请参考以下文章

IOCP模型

同步阻塞通信-伪异步I/O编程

同步阻塞通信-伪异步I/O编程

java网络通信:伪异步I/O编程(PIO)

网络I/o编程模型12 netty实现tcp服务通讯(含EventLoop实现调度)

使第三方 I/O DLL 异步