當前位置:編程學習大全網 - 網站源碼 - QT編程的Emit函數是異步的還是同步的?

QT編程的Emit函數是異步的還是同步的?

通常使用connect,實際上最後壹個參數使用Qt::AutoConnection類型:

Qt支持6種連接模式,其中3種最重要:

Qt::DirectConnection(直接連接)

當信號發出後,會立即調用相應的槽函數。emit語句後的代碼將在所有插槽函數執行完畢後執行。(信號和槽函數的關系類似於函數調用,是同步執行的。)

Qt::QueuedConnection(排隊模式)

信號發出後,在信號隊列中排隊,直到接收對象所屬線程的事件循環獲得控制權,調用相應的slot函數,才能獲得信號。emit語句後的代碼將在信號發送後立即執行,而不需要等待slot函數執行。(此時信號被插入信號隊列,信號與槽函數的關系類似於消息通信,異步執行。)

Qt::自動連接(自動模式)

Qt默認的連接模式,如果信號的發送和接收對象屬於同壹個線程,工作模式與直連模式相同;否則,工作模式與排隊模式相同。

見文章:/QQ 419036154/article/details/6112503。

  • 上一篇:如何查看android 應用簽名
  • 下一篇:華為手機怎麽刷
  • copyright 2024編程學習大全網