netconn_recv函数阻塞问题

2019-07-20 18:05发布

netconn_recv函数在设置timeout后,若这段时间内没收到数据是一直阻塞在那吗,ucos任务能调度吗
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
taizonglai
1楼-- · 2019-07-20 23:21
 精彩回答 2  元偷偷看……
aslkop
2楼-- · 2019-07-20 23:28
 精彩回答 2  元偷偷看……
aslkop
3楼-- · 2019-07-21 00:45
zuozhongkai 发表于 2016-7-19 16:59
设置timeout以后的话超时就会执行下面的函数了。


我是问在timeout之前,这个函数会一直阻塞吗,任务也不能调度吗
zzz
4楼-- · 2019-07-21 00:47
我看UCOSIII的书之后自己的理解:阻塞是这个函数被阻塞了,运行到一半就一直等数据,直到收到数据,非阻塞是收不到数据直接返回了,等下一次这个函数再运行时,如果还没收到数据再返回,任务该调度还调度,前边几句感觉挺对,但是任务调度是肯定的,试一下就知道了
正点原子
5楼-- · 2019-07-21 04:11
aslkop 发表于 2016-7-19 17:40
我是问在timeout之前,这个函数会一直阻塞吗,任务也不能调度吗

当然是可以的。高优先级任务来了,可以打断它,运行高优先级任务。
aslkop
6楼-- · 2019-07-21 06:37
正点原子 发表于 2016-7-20 22:13
当然是可以的。高优先级任务来了,可以打断它,运行高优先级任务。

那它有像netconn_recv()里的conn->recv_timeout参数可以设置超时退出的

一周热门 更多>