进程同步与异步

同步:

过程的执行有一定的顺序,也就是说必须一步一步执行。举个例子,在socket中,服务器accept()等待客户端的连接,这里的等待实际上就是阻塞了,在客户端连接之前,该过程不会往下执行。
在同步阻塞中,应用程序执行到需要IO操作,会执行一个系统调用,然后讲控制权交给内核,此时应用程序便发生的堵塞。内核得到控制权后,开始执行这个系统调用,执行完毕后会向应用程序返回响应,应用程序得到响应后,就不再阻塞,往下执行。
进程的同步也可以设置非阻塞模型,也就是在执行一个系统调用时,内核立即返回响应,但这个响应并不代表IO操作成功,知识为了让应用程序往下执行,想知道IO操作是否成功还需要应用程序自己去访问内核。

异步:

异步通信是指,应用程序在需要IO操作时,会执行一个系统调用,但是它并不等待内核返回响应,就直接往下执行了。注意异步与同步非阻塞模型的差别,异步是不等待内核返回响应;而同步非阻塞是有等待内核返回响应的,只不过该响应不代表IO操作成功。

	

总结:

同步:在需要IO操作时,等待系统响应
异步:在需要IO操作时,不等待系统响应

转载于:https://www.cnblogs.com/Windeal/p/4284676.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值