2013-08-06 32 views
-3

我是新來的主題。我想要一個線程根據標誌和另一個線程不斷查看我的數據庫和圖片記錄,以便刪除一旦選中的記錄。我怎樣才能做到這一點? 我可以在同一個類中實現兩個運行方法嗎?請幫助線程從數據庫中選擇並刪除

public class QueManager implements Runnable { 

    @Override 
    public void run() { 
     while(true){ 
      try { 
       ResultSet rs = DBManager.select("select * from dbwhere READ_FLAG=0 "); 
       int count = ResultProcessor.processResult(rs); 
       if(count==0){ 
        try { 
         Thread.sleep(1000); 
        } catch (InterruptedException e1) { 
        } 
       } 
      } catch (SQLException e) { 

      } 
     } 
    } 

    public static void StartDemon(){ 
     QueManager manage = new QueManager(); 
     Thread t1 = new Thread(manage); 
     t1.start(); 
    } 

} 
+2

你需要證明你已經嘗試過的情況,解釋了爲什麼它不工作,並詳細說明你的問題更多。現在,這個問題不符合SO.com標準 –

+1

我們需要知道您打算編寫此程序的語言。 –

+0

@PWKad:我添加了我試過的代碼。 –

回答

0

使用單獨的類進行拾取和刪除是明智的。

可火了類似於你現在怎麼把它:

Thread t1 = new Thread(manage); 
Thread deleteThread = ... 
t1.start(); 
deleteThread.start(); 
+0

可以使用兩個線程使用相同的mysql連接對象嗎?感謝您的建議。我會試試這個。 –

+0

你可以做一些簡單的連接池,這將允許你將連接從池傳遞到每個線程。線程在他們自己的進程中觸發,所以我認爲使用來自不同線程的相同實際數據庫連接不會有太大的好處。 – javastunt