2
我有一個類Session
跟蹤一堆計數器和被保存到數據庫中。我的問題主要是一個一流的設計問題,而不是具體到Android,但我工作的機器人,因爲我要保證寫入到數據庫上的主線程不會發生這僅是相關的。類的設計:內螺紋類或外
我考慮的persist()
方法,會話寫入一個DB(這可能是潛在的慢,我不是太在意,當它成功是否/)兩種選擇:
&併發執行內部
public class Session()
{
//.. getters and setters...
void persist()
{
Runnable r = new Runnable(){
// Implement logic in run() with slow
// db operations
};
ExecutorService executor = getExistingExecutor();
executor.submit(r);
}
}
併發&執行外
public class Session()
{
//.. getters and setters...
void persist()
{
// Implement logic in run() with slow
// db operations
}
}
我基本上從對象設計的角度想,什麼是包裝整齊碼,可能是運行緩慢,使得其易於使用的最佳方法?我也很感興趣,如果有分工問題(Session
商店價值的會議,但也知道如何堅持自己......我不能決定,如果這很好的OO或過於複雜)。
如何通過返回'Runnable'來控制併發?兩個呼叫者可能最終並行持續,導致各種錯誤。我錯過了什麼嗎? –
是的,我在寫這個問題的時候想到了這個案例,我會去除它,其他兩個案例是主要案例。 –
你是什麼意思由執行外? –