對你們所有人來說,美好的一天。是時間檢查內部可能的,而真實線程條件
我有一個如下所示的線程,它在它的while條件中持續檢查HashSet中的數據,如果它存在,它會提取這些數據並執行某些操作,並且在HashSet中沒有5分鐘的符號(這裏是我的問題我怎麼能保持這樣的條件在其他下面的框是可能的)
package com;
import java.util.HashSet;
public class Tester extends Thread
{
HashSet<String> set = new HashSet<String>();
public void run() {
while (true) {
try {
if (set.size() > 0) {
// extract those and do something
set.clear();
}
else {
// if there were no elements in set for more than 5 minutes than execute a task
// here is my question , to keep such a check is possible or not
}
Thread.sleep(2000);
} catch (Exception e) {
}
}
}
public static void main(String args[]) {
try {
Tester qT = new Tester();
qT.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
你的想法看起來不錯,但我無法編譯這個 – Kiran
@Kiran,我修復了代碼。現在它爲我編譯。 –
非常感謝,如果我有d = new Date(); ,它不會是太多對象的問題嗎? – Kiran