【发布时间】:2012-07-03 03:00:22
【问题描述】:
在多核机器上可以使用忙循环应用程序吗?
我有几个应用程序,它们从 POSIX 消息队列中读取消息,进行处理并再次等待新消息。但是,据我了解,mq_timedreceive 是非常昂贵的操作,如果应用程序在 O_NONBLOCK 队列上执行 mq_receive,它的性能会更好(延迟更少)。因此,如果我保留几个 CPU(从 12 个)用于非阻塞消息处理,可以吗?
【问题讨论】:
-
尽量避免这种情况,无论是美观(包括扩展计算能力)还是能源方面(服务器在忙等待时比空闲等待时消耗更多的电量)。
标签: c++ linux posix message-queue