采用线程池和任务队列可以实现一种叫做伪异步的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通讯模型相关推荐

  1. java 异步模型_Java IO编程全解(三)——伪异步IO编程

    为了解决同步阻塞I/O面临的一个链路需要一个线程处理的问题,后来有人对它的线程模型进行了优化,后端通过一个线程池来处理多个客户端的请求接入,形成客户端个数M:线程池最大线程数N的比例关系,其中M可以远 ...

  2. CAN总线技术 | 物理层02 - CAN总线的异步串行通讯

    文章目录 一.前言 二.如何解决波特率误差带来的通信错误? 三.填充位 一.前言 广州虹科录制的CAN总线技术课程非常不错,建议同学们学习一下.B站的地址:https://www.bilibili.c ...

  3. java 伪异步 netty,Netty(一) - 不死的达芬奇的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.我们先来看BIO的问题: 1  没有数据缓冲区,I/O性能存在问题: 2  没有C或C++中的Channel概念,只有输入和输出流: 3  通常会导致通信线程被长时间阻塞: 4  支持的字符集有限 ...

  4. IOCP 网络通讯模型源码解读

    From: http://hi.baidu.com/tsingsing/item/1aa5062fa27791fa50fd87b7 以前写服务器的时候用的是iocp,最近偶然发现windows的 网络 ...

  5. Netty权威指南之伪异步I/O编程

    为了解决同步阻塞I/O一个链路需要一个线程处理问题,对BIO模型做了优化--后端通过一个线程池处理多个客户端的请求接入,设置线程最大值,防止线程并发接入导致的线程耗尽. 当有新的客户端接入时,将客户端 ...

  6. java 伪异步 netty,大话netty系列之--伪异步BIO

    生意规模扩大 话说,老王和大明的生意越来越好,这就需要两个人增强业务往来,由于天南地北,两个人只能每次运输都需要雇一个人去运货(new 一个线程),一个月下来,两人一算,人力成本太大了,光是雇佣人一个 ...

  7. setstate是同步还是异步_谈谈 IO模型:同步、异步、阻塞、非阻塞

    同步/异步.阻塞/非阻塞 说的是一回事儿吗? 同步/异步.阻塞/非阻塞 你能通俗易懂的讲清楚吗? Java 中的 BIO.NIO.AIO 你了解吗? Socket 编程你还会吗? Linux 操作系统 ...

  8. JDK 伪异步编程(线程池)

    伪异步IO编程 BIO主要的问题在于每当有一个新的客户端请求接入时,服务端必须创建一个新的线程处理新接入的客户端链路,一个线程只能处理一个客户端连接.在高性能服务器应用领域,往往需要面向成千上万个客户 ...

  9. Netty从入门到精通-伪异步I/O编程

    导语   为了解决BIO面临的一个请求链路需要一个处理线程的问题,然后对其线程模型做了优化,后端通过线程池来对多个客户端请求进行接入处理,形成么客户端M线程池最大线程数N的处理比例关系,但这其中还是M ...

最新文章

  1. HDU 2519 新生晚会【求组合数】
  2. BZOJ 2140 稳定婚姻(强联通分量判环)【BZOJ修复工程】
  3. json取值_Mysql 中json数据存储读取
  4. Android动态修改选中和不选中的Button图片颜色
  5. 计算机视觉领域,计算机视觉
  6. 前端学习(3061):vue+element今日头条管理-接口分页参数说明
  7. Java I/O NIO学习
  8. 七夕-探探小卡片鸿蒙版
  9. 传统软件测试的互联网化改造
  10. Struts2教程7:上传任意多个文件
  11. 泰山站和泰安站怎么区分?
  12. 算法优化策略之“中途相遇”算法思想
  13. JAVA 实现银行卡归属地查询
  14. PT100热电阻接线方法
  15. NOIP2002 产生数
  16. ASP.NET2005各类教程实例1[视频下载]
  17. 数据库-mysql MHA集群方案测试
  18. 制造业OEER语言数据挖掘之人工神经网络探索
  19. Cb Vc 经典大讨论(很长的一篇文章!)?
  20. 一分钟了解“matlab得到自然常数e”

热门文章

  1. 微博预期12月8日登陆港交所 最终发售价定为272.8港元
  2. 小米全新潮流系列小米Civi首销5分钟销售额突破2亿元
  3. 华为P50真机谍照曝光:璀璨粉色机身 牢牢锁定女性用户
  4. 基金大跌,基民上闲鱼“卖货回血”了!支付宝深夜发文!真的没人买基了?...
  5. 手机蓝绿厂终于转正了,已有“名分”!
  6. 蚂蚁集团上市造富:员工激励达1376.9亿元,人均超800万!
  7. 诺基亚赢得运营商Orange比利时5G合同,华为回应...
  8. 阿里日马云开启直播首秀,谈年轻人压力大:一句话给“骂”醒了!
  9. 华为P40系列发布!新机皇临世,售价首次过万!
  10. 阿里影业出品影片《1917》斩获奥斯卡多项大奖 有望国内院线上映