【发布时间】:2012-08-06 08:06:30
【问题描述】:
我正在开发一个向服务器(在另一个线程中)发送异步请求的库。
我们的客户将使用这个库,我正在考虑如何让他们处理这个问题的最佳方式。响应可能会在几秒钟到一分钟内出现。我正在使用 jersey-client 执行此操作,并且已经存在一个侦听器,它将在另一个“异步”线程中调用。
所以我有一个共享资源,它将被侦听器的响应“填充”,但主线程必须调用它来检索响应。
有没有更好的方法让客户端可以访问或“通知”响应已到达?类似于 EventNotifier 的东西? (如果我实现了这样的东西,不应该存在类似轮询通知的东西,但这意味着可能存在另一个线程,它必须这样做)。
我对使用我的库的客户没有任何影响,我只能通过适当设计他们调用的库函数来让他们的生活更轻松。
【问题讨论】:
-
最简单的做法是让请求看起来是同步的,即使它是异步下游。如果客户希望它显示为异步,您需要更改他们的界面,我会与他们讨论他们希望如何更改。
标签: java multithreading asynchronous response