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