所以問題是在任何應用程式中,有時 GUI 可能會凍結。不管它為什么發生,我都希望能夠終止/退出/退出我的應用程式。
有沒有辦法從另一個執行緒(在同一個應用程式實體中)做到這一點?例如,假設 GUI 事件回圈被凍結并卡在while(1);一行中!
我已經嘗試過:
從另一個執行緒呼叫 qApp 上的 QCoreApplication::quit() ,由于 GUI 事件回圈被阻止,這不起作用。
從另一個執行緒呼叫 qApp 上的 QCoreApplication::exit() ,這不起作用,因為它說我只能從 GUI 執行緒呼叫它。
如果無法從另一個執行緒執行此操作,假設 GUI 執行緒被阻止,您將如何建議退出應用程式?
uj5u.com熱心網友回復:
你想要一個艱難的退出還是優雅的退出?對于超級硬退出,關閉處理程式(解構式,注冊函式)無法阻止atexit使用 C 標準函式abort:https ://en.cppreference.com/w/cpp/utility/program/abort
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/481895.html
上一篇:執行緒混淆中的共享記憶體
下一篇:Glib:呼叫迭代回圈函式
