结束的case会不会永远执行不到?
来源:11-4 用select进行调度

AllenW
2022-08-22
假设c1 c2不停的send数据,不去设置sleep时间,那理论上会不会永远select不到结束的case呢,即使已经过了10s。也就是说下方的case都执行不到了
写回答
1回答
-
ccmouse
2022-08-23
应该是针对这段代码。select的关键是所有的case会随机选择,而不是按顺序。这里有一个tm,一旦它的时间到了,就会有可能被选中,即使c1,c2不断有数据, tm也有相同的被选中几率。但timeout这个case必须800ms没有数据才能被选中,因为每次select,都回去运算,取当前时间往后的800ms
00
相似问题