IO模型2-BIO(阻塞IO模型)

1.BIO模型

阻塞IO模型, 每个连接对应一个线程, 缺点线程开销大, 浪费内存和CUP时间片

       // 创建一个socket
        ServerSocket server = new ServerSocket(9090);
        // 死循环获取socket
        while (true) {
            /** 阻塞1: 获取socket连接, 有连接就获取, 没有连接就一直阻塞在这里 */
            Socket accept = server.accept();
            // 创建一个byte数组, 用于存储数据
            byte[] bytes = new byte[1024];
            // 创建并启动线程获取消息内容, 每获取一个Socket连接就创建一个线程
            new Thread(() -> {
	            try (InputStream in = accept.getInputStream()) {
	                while (true) {
	                    int read = in.read(bytes);
	                    if (read != -1){
	                        System.out.println(new String(bytes,0,read));
	                    } else {
	                        break;
	                    }
	                }
	            } catch (Exception e) {
	                e.printStackTrace();
	            }
	        }).start();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值