我需要編寫一個Web服務,通過使用啓發式算法解決複雜問題。只要POST請求中指定的時間已過(即傳遞timeAllowance = 60將確保啓發式算法在60秒後停止並返回找到的最佳解),算法將運行。長時間運行HTTP請求和線程同步
啓發式算法必須在多個線程上運行才能利用所有服務器核心。在算法執行過程中,這些方法必須相互「溝通」。每個線程將運行啓發式算法,並在一定的時間後,線程將傳達他們找到的解決方案,並且如果允許的時間未到期,則會使用不同的初始羣體運行新的週期。總結:
- 生成初始羣體(幾乎隨機地)
- 啓動啓發式算法線程,每一個採取人口作爲輸入
- 一定量的時間之後,終止該線程和通信,以「控制器實體「線程發現的新羣體
- 根據點2處啓動的線程結果進行一些邏輯推理並生成新的羣體
- 如果允許的時間未過期,則返回到第2點新的人口。否則退出
我的問題是:你將如何使用Spring MVC構造代碼?
就像一個測試,我試圖在服務方法中啓動10個線程,並從控制器調用該方法(自動裝配服務)。線程所做的一切都是睡60秒。我期待HTTP請求等待所有線程終止(即大約60秒),但實際上它會立即響應。
非常感謝任何幫助。
謝謝!
正是這樣 - 從聽起來像後臺線程開始並且從未加入的問題 –