Thread thread1;
thread1 = new Thread() {
public void run() {
try {
Thread.sleep(1700);
} catch (InterruptedException ex) {
Logger.getLogger(TestThread.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println("testing");
}
};
Thread thread2;
thread2 = new Thread() {
public void run() {
try {
// ... your code here
Thread.sleep(1000);
System.out.println("testing");
} catch (InterruptedException ex) {
Logger.getLogger(TestThread.class.getName()).log(Level.SEVERE, null, ex);
}
}
};
thread1.start();
thread2.start();
System.out.println("testing");
這是我的程序的一個條紋化的版本,並突出了我需要在它睡覺的時間傳遞的問題,但環顧四周後我似乎無法得到它通過我只能找到有關傳遞給runnable的信息。我需要傳遞一個變量到一個線程
*」我只能找到有關傳遞給runnable的信息。「*你爲什麼認爲有區別? –
「線程」可以與「Runnable」大致相同。然而,如果你想從字面上使用'Runnable',只需按照你的例子,然後使你的線程如下:'thread1 = new Thread(myRunnable)'。這實際上比子類化線程好(就像你有),因爲它更靈活,也因爲它使用聚合而不是繼承(這是實現它的首選方法)。 – markspace
我無法理解它/使它工作。我設法編輯和示例,並可以將它傳遞給runnable,但不能在運行時使用它,這意味着我不能在我的線程的主要部分中使用它,就像我想要的那樣。 – Mrpandygardner