2014-01-28 30 views
0

目前我有一個hashamp存儲在網頁上註冊的新用戶註冊,但是我想在早上8點清除hashmap。由於使用了導葉,我無法使用java定時器,因爲它給了我一個錯誤。任何人都可以將我指向正確的方向嗎?我用毫秒計算時間並比較日期,但是我的網頁應用程序設置的方式需要用戶在上午8點以前進行點擊刷新。散列圖,檢票和計時器?

TNX

     Timer timer = new Timer(); 

      TimerTask hourlyTask = new TimerTask() { 
       @Override 
       public void run() { 
        sCached=false; 

       } 
      }; 
      timer.schedule (hourlyTask, 01, 60); 
+0

創建一個新線程並檢查時間。見 http://stackoverflow.com/questions/1403755/how-to-create-a-thread-that-runs-all-the-time-my-application-is-running – jcrada

+0

線程可能是一個壞的想法.. – user3241356

+0

如何使用專門的調度框架?這可能只是一個用例的矯枉過正,但可能有其他人在等待...... [Quartz](http://terracotta.org/products/quartz-scheduler)被Terracotta成功應用於檢票器應用 – Nicktar

回答

1

的一種方法是在一些地方保存的最後一次新用戶註冊的HashMap被清除的日期時間。

在每次讀取或寫入此散列映射時,請確定此散列映射是否應該自上次清除日期時間以來已清除。如果不是,則不做任何事情,否則在讀或寫之前清除散列表並更新清除日期時間。

這樣,您可以更改從定時基礎到事件基礎更新散列表的方式。