请帮忙。
我正在设计一个具有以下功能的无状态服务器:
- 客户端向服务器提交作业。
- 客户端在服务器尝试执行作业时被阻止。
- 服务器将产生一个或多个线程来执行这项工作。
- 作业完成、超时或失败。
- 创建适当的响应(基于结果),解除对客户端的阻塞,并将响应传递给客户端。
这是我到目前为止所想到的。
- 客户端向服务器提交作业。
- 服务器为作业分配一个 ID,将作业放置在队列中,然后将客户端放置在另一个队列中(它将被阻止)。
- 有一个线程池将执行作业、获取结果并适当地创建响应。
- 根据 ID,将客户端从队列中挑选出来(从而解除阻塞),给它响应并将其发送出去。
步骤 1、3、4 似乎很简单,但是关于如何将客户端放入队列然后阻止它的任何想法。此外,任何能帮助我设计这只小狗的指针都将不胜感激。
干杯