Qt 多線程和網絡編程學習


一,Qt多線程類學習

  QThread類,開始一個新的線程就是開始執行重新實現QThread::run(),run()是默認現實調用exec(),QThread::start()開始線程的執行,run()函數是在start()函數調用之后開始執行

  QMutex類,互斥量/互斥鎖,加鎖解鎖,原子操作

  QWaitCondition類,一個線程在一定條件下等待其它線程的喚醒,在此之前一直處於休眠期。QWaitCondition::wakeOne()隨機喚醒一個等待的線程,QWaitCondition::wakeAll()喚醒所有。

  QReadWriteLock提供一個可以同時讀寫操作的鎖,讀寫鎖,讀時共享寫時獨占,寫鎖優先級比讀鎖高

  QSemaphore 提供一個整型信號,是互斥量的泛華,即規定只能多少個線程進行操作

  Qt高級線程類:QtConcurrent類開啟線程事務,QFutureWatcher類觀測線程狀態,QFuture類線程啟動類

  QMutex,QReadWriteLock,QSemaphore,QWaitCondition提供線程同步的手段,使用線程主要是為了並發執行。

 

二,Qt中的網絡編程類學習

  QTcpSocket類 可靠的流傳輸

  QUdpSocket類 不可靠大報文傳輸 bind(),writeDatagram()寫報文,readDatagram()讀報文,joinMulticastGroup()廣播(join/leave),hasPendingDatagrams()如果至少接到一個報文返回true

  QAbstractSocket類,connectToHost(),state(),waitForConnected(),waitForDisconnect(),readData(),writeData()

  QTcpServer類

  QLocalServer類 listen(),serverName(),close()

  QLocalSocket類 serverName(),connectToserver(),disconnectFromServer(),state(),waitForConnect(),waitForDisconnect()

  QHostaddress類 setAddress(),toIPv4Address(),clear()

  QHostInfo類,lookupHost(),abortlookupHost(),fromName()通過名字找到IP,localHostName()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM