一?Qt 保證多線程安全?
- 使互斥鎖保證多線程安全性。QMutex類、。
- 使用讀寫鎖保證多線程安全性,QReadWriteLock。
- 使用信號和槽機制保證多線程安全性。
- 使用顯示切換保證多線程安全性。QTread類。
Qt 中的事件與信號的區別?
- 事件與信號的實現機制不同;
- 事件與信號的觸發機制不同;
- 事件與信號的消息類型不同;
- 事件與信號的應用場景及時機不同;
Qt 中的 connect 函數的連接方式?
- 直接連接方式:將信號和槽之間建立一個連接,只要信號發射就立即觸發槽函數執行;
- 自動連接方式,自動進行信號和槽的匹配,不用顯示的調用connect函數,這個連接方式為QT默認的,根據sender/receiver所處線程自動選擇是否采用隊列連接或直接連接,當sender/receiver同一線程時使用直接連接,不同線程使用隊列連接;
- 隊列連接方式,將發射信號的對象加入到事件循環的隊列中,等待槽函數執行;使用第五個參數指定為:Qt::QueuedConnection;
- 保留連接方式:使用的時候第五個參數指定為Qt::UniqueConnection;
- 自動轉換連接方式:它會進行類型的轉換,可在運行時動態轉化,使用的時候第五個參數指定為:Qt::AutoConnection。
//直接連接
QObject::connect(sender,&Sender::signal,receiver,&receiver::slot);
?
- ?