【发布时间】:2015-06-14 12:04:02
【问题描述】:
我有一个长时间运行的进程,它不断地从 telnet 端口读取数据,并且可能偶尔会对其进行写入。有时我想向它发送一个 HTTP 请求,以获取它自上次询问以来读取的信息。有时我可能会发送一个 HTTP 请求来将某些数据写入另一个 telnet 端口。
我应该使用 2 个线程执行此操作吗?如果是,我应该使用互斥体或指令队列。无论如何,您如何使用烧瓶进行线程化?我应该使用多处理吗?还有什么?
我问这个问题的原因是我遇到了类似问题(但串行端口而不是 telnet 端口,直接在应用程序中而不是本地/远程 HTTP 服务中)并且最终以某种方式几乎从未出现非数据读取线程即使我插入了大量的睡眠电话,也会运行。我最终将它从互斥体重写到队列,然后使用带队列的多处理。
编辑:telnet 端口是与硬件(打印机)通信(主要读取调试数据)的应用程序的连接。我要编写的烧瓶 HTTP 服务将通过在打印机上运行的测试来访问(在同一台机器上或与 HTTP 服务不同的机器上),这些都不涉及 Web 浏览器!
【问题讨论】:
标签: python multithreading flask multiprocessing multitasking