【发布时间】:2013-08-23 06:15:47
【问题描述】:
我有网络服务,网络服务调用由线程处理,因此它们可以异步运行,也可以超时。但是线程是“可运行的”而不是“可调用的”,因此线程无法传回 Web 服务响应。
我已经阅读了我们需要使用可调用的声明。他们有什么方法可以从我的可运行线程返回响应。我发布了一个小例子,我们可以让它返回值吗?
public class HelloThread extends Thread {
public void run() {
System.out.println("Hello from a thread!");
String a="Hello";
}
public static void main(String args[]) {
(new HelloThread()).start();
}
}
【问题讨论】:
-
由于线程异步运行,没有机会从一个线程返回值到另一个线程。因此,如果它们在一个类中,您可以考虑采用一个全局变量,但这在某些情况下也无效,因为线程并行运行。
-
你应该看看Future界面
标签: java multithreading