Larbin的通信机制

基于TCP/IP协议的通信编程一般有下面三种方法:

第一种是单线程阻塞, 由于是阻塞方式读取, DNS解析, 建立连接, 写入请求, 读取结果这些步骤上都会产生时间的延迟;


第二种方式是多线程阻塞, 建立多个阻塞的线程, 分别请求不同的URL. 可以更有效的利用机器资源, 特别是网络资源, 因为无数线程在同时工作, 所以网络会比较充分的利用. 第三种是单线程非阻塞. 是目前使用的比较多的一种做法. 在一个线程内打开多个非阻塞的socket套接字连接, 通过poll/epoll/select对连接状态进行判断, 在第一时间响应请求, 不但充分利用了网络资源, 同时也将本机cpu资源的消耗降至最低. 此方法需要对DNS请求, 连接, 读写操作都采用异步非阻塞操作.

larbin采用的是第三种方法实现的高效性, 采用批量创建非阻塞套接字socket进行连接, 根据poll函数判断套接字上的事件异步读写socket上的内容, 从而充分利用了网络资源, 也将cpu资源的消耗降到了最低.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值