Моей проблема:Вызов не класс нити от нити
Я хочу, чтобы запустить метод из потока, который не является Thread, но может занять некоторое время, чтобы выполнить (например, ожидание ответа сервера). Важно, чтобы мой метод нитей не был в другом классе (классы - это объекты, которые также используются в других классах).
Если вы сделаете это, как в примере кода, вся программа остановится на 10 секунд, но я хочу, чтобы он продолжался с другим программным кодом.
Есть ли хороший способ сделать это?
Мой код:
MyThread.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!");
}