线程(接收器)如何写请求和;线程(发送者)只发送请求时对文件的响应?

时间:2011-11-08 06:57:19

标签: java

我们有一个要求,它会导致设计约束,它是显示停止。在这里,

  1. 发件人线程会将请求放入消息队列。输入源是一个包含1000万个请求的文本文件。

  2. Recevier线程轮询来自另一个队列的响应并将其写入另一个输出文件。

  3. 设计约束:

    1. Recevier线程必须将请求和响应写入输出文件。 如何做到这一点?

    2. 不应使用数据库

    3. 由于性能瓶颈,无法使用在收到相应的响应后发送和更新请求之前缓存请求。

    4. 在少数情况下,如果响应延迟很长时间,则会发生超时。

    5. 请建议。

1 个答案:

答案 0 :(得分:0)

由于您只有一个Receiver线程,因此可以保证一次只处理一个请求。

让发送方线程写入请求和响应可能不是最优雅的设计,但您当然可以让Receiver线程写入{request,response}元组。 Receiver线程还可以在开始处理之前写入请求,并在完成之后写入响应。它将与您的目标具有相同的结果。

如果您提供有关设计的更多详细信息,我可以为您提供更多设计帮助。