所以我有這個多線程,遞歸的應用程序。它是用Pharo Smalltalk編碼的,但對於這個問題的邏輯解決方案在大多數語言中可能是相同的。多線程和遞歸
我有4個相同的進程相對同時運行。這是遞歸調用的最後一次迭代。我想打印由遞歸函數計算出來的結果(它是在遞歸函數/消息的參數中修改的字典)。我現在面臨的問題是在遞歸的基本情況終止符中調用打印,所以結果會打印4次。
我嘗試設置一個全局變量,它允許我打印第一個完成的過程的結果,但當然這意味着結果是錯誤的。它需要打印最後一個進程的結果來執行遞歸最後一次迭代中的所有進程。
如何在不深入Process類的情況下解決這個問題?謝謝你的幫助。
而不是設置,讓每個進程[原子]增加全局。當計數達到4個[進程數]時,然後執行打印,因爲每個人都已完成 –