阻塞非阻塞SOCKET-同异步编程

  1. 阻塞、非阻塞SOCKET

    阻塞、非阻塞SOCKET是指当调用接口时,当条件不满足时是否立即返回。
    例如:TCP SOCKET,connect时发送SYN,未收到SYNACK时是否立即返回。对于阻塞SOCKET会在连接建立后返回,对于非阻塞SOCKET发送SYN后立即返回,同时告诉调用者EWOULDBLOCK。

  2. 同步、异步编程

    同步、异步编程是指在程序出现阻塞情况下能否执行其它业务逻辑。
    同步编程:只有将当前逻辑执行完才执行其它业务逻辑;
    异步编程:如果当前业务逻辑出现阻塞可以执行其它已就绪业务逻辑。
    举个例子:
    代理程序,在向服务器发起请求获取响应同时还需要处理来自其它客户端的请求。
    同步编程:在收到服务器响应前不会接收来自客户端的请求
    异步编程:在未收到服务器响应前可以处理其它客户端的请求

  3. 阻塞非阻塞SOCKET与同异步编程

    按照前面的列举,组合情况可能有:
    阻塞SOCKET的同步编程、阻塞SOCKET的异步编程、非阻塞SOCEKT的同步编程、非阻塞SOCKET的异步编程。
    从对程序和系统性能影响看按照优势从高到低是:
    非阻塞SOCKET异步编程 > 阻塞SOCKET异步编程 > 阻塞SOCKET同步编程 > 非阻塞SOCKET同步编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值