我正在使用 libubox 开发一个项目。我已经注意到 libubox 在顺序模式下而不是在多线程模式下执行函数。
有没有人可以证实这一点?
不,libubox 不支持多线程
在Felix(Libubox开发人员)的正当理由之后
2012 年 11 月 7 日下午 2:59,KALLEL Mohamed 写道:
你好
我正在开发一个使用 libubox 的开源项目。我注意到 libubox 在单线程模式下而不是在多线程模式下执行处理程序函数。
1)所以我想知道libubox是否支持在多线程模式下执行处理程序?
2)如果是,如何使用 libubox 为注册的处理程序激活多线程
3)如果没有。我可以在我的主程序中创建 2 个线程,然后每个线程都会调用 libubox 函数来注册处理函数。你能快速介绍一下如何使用 libubox 吗?你好,
libubox 中的 uloop 目前不是以线程安全的方式设计的。我建议只在一个线程中运行 uloop,并将接收到的事件的处理交给其他线程。这足以满足您的应用程序的需求还是您需要任何特定的更改?
我还没有真正研究过 epoll 的线程安全使用(内部在 uloop 中使用),我只记得最近一些与内核相关的讨论指出它的线程使用可能有点棘手,因为一些竞争条件只是固定的最近。
- 菲利克斯