recv函数从开始被调用到最后返回整个流程是怎样的
1个回答
2017-11-17
展开全部
一般来讲,像recv这类的系统调用,现在一般是通过sysenter进入到内核态(以前是int 2e),如果这个调用可能需要被阻塞的话,现在一般不会轮询,因为那样会耗费大量的cpu资源,一般的做法是线程等在一个同步对象上,这个时候线程会被挂起,当期望的事情发生了(比方说数据到了),线程又会恢复执行。当然,什么叫做“等在一个同步对象上”,这在不同的系统上可以有不同的实现,考虑一个简单的方法,你可以让线程暂停运行,然后放到一个专门的队列里,等需要的时候你再把他拿出来执行。
需要详细的信息,lz可以参考任何一本足够厚的操作系统教材,比方说Operating system concept
需要详细的信息,lz可以参考任何一本足够厚的操作系统教材,比方说Operating system concept
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询