0
我正在做的庫要求用戶在對象的構造函數中輸入延遲。我想這樣做,所以他們不必在構造函數中輸入延遲(我不想使用多個構造函數),並將延遲設置爲默認值,稍後可以通過方法進行更改。這很容易,如果我稍後通過另一種方法啓動線程,但我希望線程在構造函數中啓動。更改scheduleWithFixedDelay延遲(Java)
有沒有辦法取消正在執行的runnable或更改其延遲?
示例代碼:
public ExampleClass(Object value1, Object value2) {
executor.scheduleWithFixedDelay(new Task(), 0, 100, TimeUnit.MILLISECONDS);
}
public void cangeDelay(int delay) {
//what to do here?
}
private class Task implements Runnable {
public void run() {
//do something
}
}
你真的想解決什麼問題?當你說,「我不想使用多個構造函數。」這讓我想你可能正在尋找這個:http://en.wikipedia.org/wiki/Builder_pattern –
「有沒有辦法取消正在執行的runnable或更改其延遲?」 Runnable沒有「延遲」。如果_your_ runnable有一個,那是因爲你添加了它。 –
@jameslarge我希望它很容易使用,默認值是99%的時間,但我也希望它是可配置的。 – user2248702