如何看待win10控制台和powershell點擊左鍵會暫停程序運行?
04-04
今天出了一個巨坑的問題, 客戶說運行程序(windows移植版本)後收不到交易數據, 不管我們這邊怎麼測試都是對的, 經過無數次測試再加上不小心點擊到控制台一次發現程序暫停了, 然後和客戶交流後發現就是這個問題(客戶用的是powershell), 真是坑死我了.
題主要是問解決方法, 我建議右鍵屬性把快速編輯模式關掉
題主問看法, 我只能說這就像你在問左撇子洗澡的時候沒法洗左手臂怎麼辦, 我們右撇子沒有這個煩惱一樣..
每個產品的設計初衷不同, 用戶的習慣不同, 必然會排列組合出不同的實踐體驗, 這很正常啊~
瀉藥
你確定?在console點擊左鍵是不會暫停程序運行的,你這個時候是進入了選定模式,系統只是給console做了一個類似screenshot的處理,你看到的始終是進入選定模式瞬間的狀態。
如果你要是不信,你可以寫一個空循環的console程序,空循環幾秒;運行後點擊左鍵進入選定模式,然後等待幾秒。你是會看到程序好像是暫停了,但事實上你去任務管理器看看,你的程序早就不在運行了。
這是「阻塞輸出」導致的問題。tmux 在滾動的時候也有這個問題。不能算作 Windows 的問題。
其實是阻塞了io,也就是常用的stdout,printf等。當程序走控制台輸出的話,就會被阻塞到哪裡。那麼看起來也就是程序被暫停了。
事實上,不是程序暫停運行,而是UI交互暫停r。如果程序在那個時刻需要等待UI交互,就會停住
客戶也在想自己被坑了......
這個問題和 powershell 沒有關係,和新的控制台有關係。屬性里關閉快速編輯就沒問題了。要說怎麼看待?這個功能當然是很吼用呀。
推薦閱讀:
※關於指針數組的初始化的一個問題?
※c++中子函數的局部變數在函數結束後是否會銷毀變數的內容?
※C++ 鏈接時間過長,如何找到原因?
※C/C++中相同的浮點數的內存布局一定是一樣嗎?
TAG:C | 控制台 | Bash | PowerShell | Windows10 |