//簡單介紹一下QT訊號與槽的連線方式:
//Qt::AutoConnection表示系統自動選擇相應的連線方式,如果訊號與槽在同一執行緒,就採用Qt::DirectConnection,
//如果訊號與槽不在同一執行緒,將採用Qt::QueuedConnection的連線方式。
//Qt::DirectConnection表示一旦訊號產生,立即執行槽函式。
//Qt::QueuedConnection表示訊號產生後,將傳送Event給你的receiver所在的執行緒,postEvent(QEvent::MetaCall,...),
//slot函式會在receiver所在的執行緒的event loop中進行處理。
//Qt::BlockingQueuedConnection表示訊號產生後呼叫sendEvent(QEvent::MetaCall,...),
//在receiver所在的執行緒處理完成後才會返回;只能當sender,receiver不在同一執行緒時才可以。
//Qt::UniqueConnection表示只有它不是一個重複連線,連線才會成功。如果之前已經有了一個連結(相同的訊號連線到同一物件的同一個槽上),那麼連線將會失敗並將返回false。
//Qt::AutoCompatConnection與QT3保持相容性
//說明一下,對於任何的QThread來說,其執行緒只存在於run()函式內,其它的函式都不線上程內,所以此處要採用Qt::BlockingQueuedConnection,
//因為當SOCKET有資料到達時就會發出readyRead()訊號,但是此時可能之前的receiveFile()還未執行完畢,之前使用的Qt::AutoConnection,
//結果傳輸大檔案的時候就會出錯,原因就在於只要有資料到達的時候,就會連線訊號,但是資料接收還沒處理完畢,而Qt::BlockingQueuedConnection會阻塞
//此連線,直到receiveFile()處理完畢並返回後才傳送訊號。
qDebug()<<"run thread:"<<QThread::currentThreadId();
//connect(tcpSocket,SIGNAL(readyRead()),this,SIGNAL(receiveSgl(tcpSocket)));
// connect(tcpSocket,SIGNAL(readyRead()),this,SLOT(receiveFile()),Qt::BlockingQueuedConnection);
exec();
}
qt多執行緒訊號槽傳輸方式
相關文章
- Qt 中多執行緒對應的訊號槽QT執行緒
- Qt 訊號槽傳遞指標QT指標
- qt多執行緒QT執行緒
- Java多執行緒—執行緒同步(單訊號量互斥)Java執行緒
- windows多執行緒同步--訊號量Windows執行緒
- Qt 訊號槽如何傳遞引數(或帶引數的訊號槽)QT
- 【QT】 Qt多執行緒的“那些事”QT執行緒
- QT 主執行緒子執行緒互相傳值QT執行緒
- java tcp 網路通訊--使用多執行緒傳輸檔案JavaTCP執行緒
- Qt---多執行緒控制QT執行緒
- Qt 中的多執行緒QT執行緒
- iOS多執行緒非同步訊號量iOS執行緒非同步
- QT槽函式獲取訊號傳送物件QT函式物件
- Qt之訊號與槽QT
- Qt Connect 訊號 槽QT
- Java多執行緒-執行緒通訊Java執行緒
- Qt實現基於多執行緒的檔案傳輸(服務端,客戶端)QT執行緒服務端客戶端
- Qt 5 中的訊號槽QT
- 02_QT訊號和槽QT
- 多執行緒03:?執行緒傳參詳解執行緒
- Java多執行緒學習——執行緒通訊Java執行緒
- Qt入門(3)——訊號和槽QT
- 多執行緒-多執行緒方式3的求和案例執行緒
- Qt中的多執行緒與執行緒池淺析+例項QT執行緒
- Java多執行緒實現方式Java執行緒
- 多執行緒-匿名內部類的方式實現多執行緒程式執行緒
- java多執行緒5:執行緒間的通訊Java執行緒
- 多執行緒之間通訊及執行緒池執行緒
- Java多執行緒學習(3)執行緒同步與執行緒通訊Java執行緒
- 《Qt5:訊號和槽使用示例》QT
- QT 控制檯訊號與槽簡例QT
- 【java】【多執行緒】建立執行緒的兩種常用方式(2)Java執行緒
- QT從入門到入土(四)——多執行緒QT執行緒
- 多執行緒,執行緒類三種方式,執行緒排程,執行緒同步,死鎖,執行緒間的通訊,阻塞佇列,wait和sleep區別?執行緒佇列AI
- 面試-實現多執行緒的方式面試執行緒
- 多執行緒-多執行緒方式1的程式碼實現執行緒
- 多工處理方式之二:多執行緒執行緒
- 多執行緒-多執行緒兩種方式的圖解比較及區別執行緒圖解