2017-01-16 34 views
0

我有一個多線程的環境,我想處理使用事件偵聽器的所有線程。自定義事件監聽器多用Java線程環境中使用等待()和notify()

我已經讓偵聽器偵聽事件,我的問題是我想等待並通知每個線程使用一些特定的唯一ID或任何我們可以用於唯一性的目的。

我在Java事件監聽器編程新。

我正在IVR應用Java和每個打電話給我新的線程將被創建。

任何演示將是對我非常有用。

+1

不能只是創建一個類來擴展線程類,併爲它添加一個靜態屬性,並在每個實例中增加它從你的班級裏回來。由於屬性是靜態的,對於一個JVM實例,您將擁有唯一的線程ID。你需要什麼? – hackmith

+0

我的主要任務是通知來自不同課程的線程。我的等待和通知都在不同的班級。 你能用一個小例子告訴我這個嗎? –

回答

1

這不會直接適合你的代碼,你必須努力適應你。

這是我的想法。

public class MyThread extends Thread{ 
private static int uniqueId; 
private int myId; 
MyThread(){ 
    myId = ++uniqueId; 
} 
//getters and setters to myId 

}

公共類YourClass {

公共HashMap的線程=新的HashMap(); //使用這個由IDS到你的線程映射

//when you want to access a thread, you get it from the map and call wait and notify. 
//this map should be publicly visible to you. 

}

+0

很有幫助.. !! –

+0

我們將在hashmap中存儲什麼? uniqueId MyThread或由Java創建的threadID? –

+0

我們分配給每個線程的唯一ID – hackmith