1

我想在運行的java應用程序中獲取執行的確切點或運行代碼行。如何獲得Java應用程序中的確切執行點?

我正在研究一些容錯方法並試圖實現一些解決方案。我將一個Thread對象序列化爲文件並強制關閉我的應用程序。我的目標是重新運行可序列化的線程,而不是從「運行」方法開始,而是從序列化時的線程開始。

問題是:在一個正在運行的線程中,在調用一個「暫停」方法後,獲取暫停代碼的行。在此之後,我想實例化一個新的線程類型並從該線路運行。

任何人都知道我該怎麼辦?

+0

您不能在代碼中的任意點開始(或停止)執行。 –

+0

但是如果一個線程正在執行並暫停,當它返回執行時,它將在停止的地方開始。我可以得到這些信息嗎? –

+1

聽起來像是一個可能的[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。你試圖解決的更高層次的問題是什麼? –

回答

1

你需要的是一個可序列化的延續。但是,我聽說他們的解決方案之一;

  • 沒有一個完整的解決方案
  • ,以保持足夠的信息,你可以在任何時候停止它很慢。

更好的方法是有一個狀態機,您可以在其中記錄所有輸入,因此您可以通過重播這些事件在任何時候重新創建應用程序。

相關問題