摘要: Multithreading with ZeroMQ 你应该遵循一些规则,以编写愉快的多线程代码ZeroMQ: 在线程中单独隔离数据,不要在多个线程中共享数据。唯一的例外是ZeroMQ上下文,它是线程安全的。 不要使用互斥、临界区、信号量等经典并发机制。这些是ZeroMQ应用程序中的一个反模式。 在 阅读全文
posted @ 2021-09-24 09:29 水色天空 阅读(31) 评论(0) 推荐(0) 编辑
摘要: Signaling Between Threads (PAIR Sockets) 这是一个经典的ZeroMQ多线程模式: 1. 两个线程使用共享上下文在inproc上进行通信。 2. 父线程创建一个套接字,将其绑定到inproc:@<*>@端点,然后* /启动子线程,将上下文传递给它。 3. 子线程 阅读全文
posted @ 2021-09-24 09:29 水色天空 阅读(16) 评论(0) 推荐(0) 编辑
摘要: Handling Interrupt Signals 现实的应用程序需要在被Ctrl-C或SIGTERM等其他信号中断时干净地关闭。默认情况下,这些命令会杀死进程,这意味着消息不会被刷出,文件不会被干净地关闭,等等。 程序提供了s_catch_signals(),它捕获Ctrl-C (SIGINT) 阅读全文
posted @ 2021-09-24 08:29 水色天空 阅读(26) 评论(0) 推荐(0) 编辑