增加mqueue消息大小后无法创建多线程

时间:2016-12-29 15:42:32

标签: c multithreading mqueue

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

它运行正常,但邮件大小被默认为卡(10)。

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

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

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

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

非常感谢。

干杯,

1 个答案:

答案 0 :(得分:0)

我们尝试了10> / proc / sys / fs / mqueue / msg_max,一切都很好。 – Janice Man