2012-12-27 24 views
1

我有一個全天候運行的代碼。而且,我想知道是否有任何方法可以用於實時更改變量而不會引發任何錯誤?一直在使用raw_input(),但是這個「停止」程序,因爲它是按順序運行的。當程序正在運行時,是否可以實時更新列表清單?

我的想法是使用一個真正的同時循環:

while true: 
    ... 
    ... 

,並在最初的幾個循環,它會使用默認的捕捉,我已預編程到系統中的所有值。當它運行時,我想在「實時」對某些常數項(作爲控制)進行更改。因此,在下一個循環中,它將使用新值而不是預編程版本。

回答

1

你的一些代碼或你正在嘗試做的細節會有所幫助。

但要做到這一點是有兩種方法中的一種方式,一個過程,從standard inraw_input()讀取,我們可以稱之爲P1;和一個處理數據結構的數據結構,在這個例子中,我們稱之爲p2

這兩個進程可以使用套接字或任何你想要的消息傳遞進行通信。

然後就一定要避免新的數據被讀取P1,但在P2尚未更新競爭條件。因此p2將繼續並使用過期數據。一種方法是使用鎖。

+0

感謝您的建議。我正在做一個實驗,要求程序在優化結果的同時24/7全天候運行。我正在優化它的方式是通過我的控制變量。目前,我必須停止程序,手動更改值並重新啓動程序。因此,我正在探索選項,以瞭解我可以做什麼來實現實時作品更新的想法。嗯...我聽說過程,但之前沒有鎖。肯定會閱讀它。謝謝! –

相關問題