3
在Windows中從命令行運行程序時,如果進入標記模式,則程序輸出暫停,給您足夠的時間來複制所需的任何內容,然後繼續執行程序。通過命令行編輯>標記暫停程序時發生了什麼?
我總是認爲這只是暫停了輸出流,並且程序繼續後面不管。但是,我發現它似乎也會'暫停'程序(或至少阻止它通過套接字進行通信)。
我的問題是:這個「暫停」究竟是什麼引起的?哪些線程被暫停?子進程是否被暫停(我猜不是)?例如,如果運行Java代碼,整個JVM是掛起的,還是僅僅是主線程? Windows如何處理這個問題?
我很抱歉,如果這可能是一個開放式的小問題,但QuickEdit模式打開,我想知道關鍵程序有什麼風險!
在此先感謝
您確定通過套接字進行通信的線程不是*還*試圖寫入控制檯嗎? – 2013-03-27 09:53:18
所有日誌記錄都使用NLog進行處理,並且在相關程序中沒有任何直接控制檯訪問。假設Nlog在一個單獨的線程上運行,那麼這會影響它。 – 2013-03-27 09:55:59
這聽起來像是你應該驗證的假設。我會嘗試寫一個簡短但完整的程序來演示問題...... – 2013-03-27 09:56:44