在什么条件下程序应使用POSIX sleep?

问题描述 投票:0回答:1

我编写了一个简单的TCP / IP客户端应用程序,该应用程序不断检查服务器中的新数据。实现此循环的线程安排在sched_priority = 0sched_policy = SCHED_OTHER处。从本质上讲,我已将其设置为最低优先级。

服务器仅每秒发送一次新数据,这意味着连续检查在某种程度上是不必要的。但是,我在质疑我是否应该使用POSIX sleep,或者我已将其安排在最低优先级的事实是否足够好。

[在什么条件下程序应包含sleep?我应该担心应用程序中的CPU过度使用吗?

linux linux-kernel posix sleep
1个回答
1
投票

[而不是休眠,线程应该在套接字的read()调用中或在select()poll()之类的多路复用调用中阻塞。

阻塞就像在睡觉,只是当新数据到达时它将立即唤醒。

© www.soinside.com 2019 - 2024. All rights reserved.