[英]Regarding wait and notify
我正在開發與wait&notify相關的簡單代碼,我創建了兩個單獨的類,下面是這些類
class ThreadA {
public static void main(String [] args) {
Thread b = new Thread();
b.start();
synchronized(b) {
try {
System.out.println("Waiting for b to complete...");
b.wait();
} catch (InterruptedException e) {}
//System.out.println("Total is: " + b.totals);
}
}
}
and the other one is ...
class ThreadB extends Thread {
public int totals;
public void run() {
synchronized(this) {
for(int i=0;i<100;i++) {
totals += i;
}
notify();
}
}
}
但是在ThreadA類內部,當我從b線程對象訪問總數時,遇到了complie time錯誤。
System.out.println("Total is: " + b.totals);
請告訴我如何糾正它,以便我可以執行我的代碼.. !! 在此先感謝..!1
這是當前的問題:
Thread b = new Thread();
您實際上從未真正創建ThreadB
的實例。 b
的類型僅為Thread
,而不是ThreadB
,這就是為什么編譯器無法解析totals
標識符的原因
另外:
Thread
上調用wait
和notify
是一個非常糟糕的主意,因為Thread
類本身會調用wait
和notify
。 Runnable
而不是擴展Thread
,以更好地分離問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.