在我的 C 软件中,我创建了 10 个线程(多线程)并将消息写入消息队列中。我还创建了另外 1 个线程来监视队列并从队列的另一端排出数据。
运行正常,但消息大小停留在默认值 (10)。
我从论坛了解到通过运行“echo number>/proc/sys/fs/mqueue/msg_max”来增加 mqueue 大小,在 Linux (Ubuntu) 中我将“number”设置为 100。
但是在此更改之后,当我再次执行我的软件时,我无法创建 (pthread_create) 超过 4 个线程。其他7个线程创建报错。之前一切都还好,只是队列太小了。
请问如何恢复msg_max的默认值以便再次运行软件?
还有其他方法可以增加 mqueue 大小吗?
非常感谢。
干杯,
贾妮丝
最佳答案
我们尝试了 10 >/proc/sys/fs/mqueue/msg_max ,一切都恢复正常了。 – 文珍妮
关于c - 增加 mqueue 消息大小后无法创建多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41382860/