paho MQTT C API接口描述
场景:
客户端A,与本地代理通信;
客户端B,与远端的代理通信(物管平台).
问题
两个客户端的消息到达函数(MQTTAsync_messageArrived类型),不能并行.互相阻塞.
原因
翻阅源码以及pthread_self()函数验证,得出结论:
同进程,仅可创建一个线程,不会因为多个客户端而创建多个线程.
解决方案
- 客户端A与客户端B,消息处理上要接收串行的情况
- 拆分为2个进程,分别处理客户端A,客户端B.
客户端A,与本地代理通信;
客户端B,与远端的代理通信(物管平台).
两个客户端的消息到达函数(MQTTAsync_messageArrived类型),不能并行.互相阻塞.
翻阅源码以及pthread_self()函数验证,得出结论:
同进程,仅可创建一个线程,不会因为多个客户端而创建多个线程.