2014-10-19 48 views
1

我不確定在Java中如何去解決這個問題。爲了好玩,假設我正在建立一個銀行模型,並且我想計算一個客戶在他的賬戶成熟時積累的總利息。我可以檢查帳戶是否成熟,然後進行數學計算,但有沒有辦法自動完成此操作,我假設真正的銀行軟件會自動執行此操作,或者這是數據庫觸發器?如何在Java中運行預定的函數?

+0

您可以使用計時器。 – afzalex 2014-10-19 02:41:24

+0

我可以,無論出於何種原因,我認爲有一個更優雅的解決方案呢? – user1529412 2014-10-19 02:45:13

+0

你在尋找什麼樣的優雅?香檳酒?或者預定的執行者服務也許? – 2014-10-19 02:48:08

回答

1

既然你想爲你的假想銀行優雅;那麼你可以使用其主要工作是calculate the total interest accumulated for a customer when his account matures.

您的銀行軟件將做其他事情,添加新的賬戶,轉移資金,但線程將始終在那裏檢查。

現在線程不會永遠運行,它可能每天在午夜醒來並開始其搜索/任務。或者它可以在白天喚醒幾個關鍵時刻並完成一部分任務。您可以使用定時器和​​塊將其喚醒。

synchronized(timeObj) 
{ 
    // Check all bank accounts for "maturity" and interests. 
} 

這當然是你將要構建的內容的抽象,一旦你開始了,你可以根據自己的喜好調整它。