linux - 使用单线程等待消息队列和套接字

标签 linux multithreading

我在一个进程中有 2 个线程。我正在使用消息队列进行线程间通信,线程 2 和进程 1 使用套接字进行通信。

线程 2 等待消息队列上的条件变量,一旦线程 1 写入消息队列,它设置条件变量线程 2 唤醒并开始处理。 其他进程也发布到线程 2 上的套接字。 我的问题是如何在单个线程中轮询消息队列和套接字?

最佳答案

恕我直言,一种更简洁的实现是一个线程监听套接字并将所有传入请求放入消息队列,一个或多个线程同步或异步地从消息队列读取并处理传入消息。参见 Java NIO

关于linux - 使用单线程等待消息队列和套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50097809/

相关文章:

linux - PhantomJS 和 OpenShift,无法工作?

linux cat 文件,不包括以特定前缀开头的文件

c++ - std::async 与 std::launch::async 策略的行为

C# 异步套接字 - 线程逻辑

android - 利用 openGL 的多线程

linux - 无法增加文件系统上的磁盘大小

c - "Segmentation fault"当 `rmmod` 或 `modprobe -r`

linux - Linux 桌面应用程序确保其具有硬件访问权限的最佳实践?

java - 在作家阅读器中使用信号灯

c# - .NET 中是否可以使用非阻塞、单线程、异步 Web 服务器(如 Node.js)?