我的问题:
我想从一个线程运行一个方法,它不是线程,但可能需要一些时间来执行(例如等待服务器响应)。重要的是我的无线程方法在另一个类中(这些类也是在其他类中使用的对象)。
如果您按照示例代码执行此操作,整个程序将暂停 10 秒,但我希望它继续执行其他程序代码。
有没有这样做的好方法?
我的代码:
我的线程.java ( extends Thread
)
public Foo foo;
public void run() {
foo.bar();
}
Foo.java
public void bar() {
try {
Thread.sleep(10000);
// Represents other code that takes some time to execute
// (e.g. waiting for server response)
} catch (InterruptedException e) {
e.printStackTrace();
}
}
还有一个主要方法:
public static void main(String[] args) {
MyThread t = new MyThread();
t.foo = new Foo();
System.out.println("Starting!");
t.run();
System.out.println("Done!");
}