0

在我的 C 软件中,我创建了 10 个线程(多线程)并将消息写入消息队列中。我还创建了另外 1 个线程来监视队列并从队列的另一端排出数据。

它运行正常,但消息大小被卡住为默认值(10)。

我从论坛了解到通过运行“echo number>/proc/sys/fs/mqueue/msg_max”来增加 mqueue 大小,我在 Linux(Ubuntu)中将“number”设置为 100。

但是在此更改之后,当我再次执行我的软件时,我无法创建(pthread_create)超过 4 个线程。其他 7 个线程创建报告错误。除了队列太小之外,一切都很好。

请问如何恢复msg_max的默认值,以便我可以再次运行该软件?

还有其他方法可以增加 mqueue 的大小吗?

非常感谢。

干杯,

珍妮丝

4

1 回答 1

0

我们尝试了 10 > /proc/sys/fs/mqueue/msg_max 并且一切都很好。– 珍妮丝·曼

于 2019-01-31T14:26:08.793 回答