为此,您将需要使用线程,因为您将程序流分成两部分;返回路径和处理路径是分离且并行的。
如果您需要通过方法的返回来发送方法开始的确认,那么为什么您的服务提供方法不能看起来像这样简单呢?
public Acknowledgement someService() {
new Thread(new SomeServiceRunnable()).start();
return new Acknowledgement();
}
Run Code Online (Sandbox Code Playgroud)
服务将启动,然后该方法将返回(从而通知进程已启动),同时处理继续直到线程结束...
我是否在这里遗漏了一些关于您需要实现的目标的信息?
希望这可以帮助。
编辑:
似乎有些答案是为了解决我认为没有作为问题的一部分提出的问题而设计的。以下是我在回答时所做的一些假设,以便阅读此答案的任何人都可以更好地了解它何时不适用于他们的特定情况:
这是针对您只想确认服务从概念上讲已开始执行的情况。该确认不能提供有关此执行的任何部分或其初始化是否成功的信息,仅表明它在概念上已开始,也就是说,关联的 Runnables run() 将在某个时刻被调用。
当然,如果您希望开始执行并且调用者返回,那么确认的重要性必然会受到返回之前等待执行的任务数量的限制,这里不等待并返回确认立即,因此无法提供额外信息。
| 归档时间: |
|
| 查看次数: |
16622 次 |
| 最近记录: |