[問題] 利用Thread呼叫JNotify無反應

看板java作者 (Yo)時間12年前 (2013/03/24 16:42), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/2 (看更多)
各位版友好,我目前想用JNotify套件來監聽文件夾檔案更動, 官方網站在此http://jnotify.sourceforge.net/ 原本由main方法呼叫JNotify.addWatch(strDir,intMask,booWatchSubtree,Listener); 但由於特定因素我利用thread來呼叫addWatch方法, 但卻沒辦法讀取到Listener的方法,原本在main中呼叫addWatch()是可以執行的, 試過用thread.isAlive跟isInterrupted來測試,可是都顯示沒問題, 不知道大家有什麼建議可以測試到底是哪裡出問題了? 或是我有哪裡出現嚴重錯誤導致無法執行呢? 謝謝大家。 以下有簡單範例說明: main.java================================================ ThreadForJNotify t = new ThreadForNotify(); t.start(); ================================================main.java ThreadForJNotify.java extends Thread===================== JNotify.addWatch(strDir,intMask,booWatchSubtree,new Listener()); ====================================ThreadForJNotify.java Listener.java implements JNotifyListener================= public void fileRenamed(){ do something... } public void fileModified(){ do something... } public void fileDeleted(){ do something... } public void fileCreated(){ do something... } ===========================================Listener.java -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.54.165 ※ 編輯: rudolf1238 來自: 140.120.54.165 (03/24 16:44)

03/24 19:26, , 1F
addwatch 有放在thread的run函數裡面?
03/24 19:26, 1F

03/24 19:57, , 2F
是的,放在run()函數內,前後都有測試print皆有執行到
03/24 19:57, 2F

03/29 22:37, , 3F
不好意思 我發的那篇文章發現是錯的 所以先刪掉
03/29 22:37, 3F
文章代碼(AID): #1HJhoCmM (java)
文章代碼(AID): #1HJhoCmM (java)