我正在开发一个应用程序,但目前我仍然坚持使用rails进行多线程处理。
我遇到以下情况:当某些操作发生时(可能是在用户点击按钮或计划任务启动后),我正在启动一个单独的线程来解析某些网站,直到我必须接收SMS代码以继续解析。这时我做了Thread.stop。
SMS代码作为POST请求发送给我的一些控制器。所以我想把它传递给我停止的线程并继续它的工作。
但我怎样才能访问该线程?
保持该主题链接的最佳位置在哪里?
那么如何处理多线程呢?可能存在大量线程和大量SMS请求的情况,我需要以某种方式关联它们。
答案 0 :(得分:0)
出于所有真实目的,你不能,但你可以让其他线程'报告'它的状态。
您可以使用redis-objects创建一个锁定对象,使用redis作为其标志,创建某种类型的计数器,或只创建true,false值存储。然后,您可以查询redis以查看其他线程的相应状态,并在需要时退出。
https://github.com/nateware/redis-objects
关于这一点很酷的部分是它不仅可以在线程之间工作,而且可以在应用程序之间工作。