java監聽線程
❶ java自定義事件,線程a如何每一秒鍾觸發一個事件,然後另一個線程b監聽之,並作出反應
線程a是作為事件源,那麼線程a這個類就必須提供一個可以增加監聽器的方法,就像GUI編程中的addActionListener這個樣的方法。線程a這個類裡面是有一個專門存放監聽器的一個容器,例如是list。然後你 增加監聽器的方法就是把監聽器放進這個容器裡面。你用一個監聽器去監聽一個事件的發生,就可以在線程a這個類中,寫一個產生事件的一段代碼,然後每當產生一個事件之後,去遍歷list,去調用監聽器的對於這個事件的處理方法,這樣子就可以了。這應該就是java中的事件模式。
❷ java中的事件監聽是怎樣實現隨時監聽的,是通過線程嗎
是,java虛擬機提供了一個事件監聽線程(即用戶界面線程)。
❸ 如何監視Java多線程的狀態
線程池的地方在新增或者刪除線程的時候加一個debug信息。 如果在命令行下面啟動的話用ctrl + break就可以看到當前哪些線程在運行了。。。
❹ java中的事件監聽是怎樣實現隨時監聽的,是通過線程嗎
java中的事件監聽不是通過線程實現的,它是通過一種注冊--通知機制實現的。在java的設計模式中,有一種模式叫:觀察者模式,和這個類似。
❺ java如何監控線程是否在運行
判斷是否在運行用isAlive方法哈。。
給你寫了個例子。。不知是不是你想要的。。
public class Thread100 {
/**
* @param args
*/
public static ThreadA ta = new ThreadA();
public static ThreadB tb = new ThreadB();
public static void main(String[] args) {
ta.start();
tb.start();
}
}
class ThreadA extends Thread {
@Override
public void run() {
int i = 0;
while(i < 100) {
if(Thread100.tb.isAlive()) {
System.out.println("B is alive");
}
System.out.println(i);
i++;
}
}
}
class ThreadB extends Thread {
@Override
public void run() {
int i = 0;
while(i < 100) {
if(Thread100.ta.isAlive()) {
System.out.println("A is alive");
}
System.out.println(i);
i++;
}
}
}
❻ java中能否監聽一個線程是否結束 我希望在當前線程結束時寫日誌
線程結束的標志是run()函數執行完畢。如果你要判斷的話 用 線程名.isAlive();