Qt 多線程和網路編程學習

來源:互聯網
上載者:User

標籤:asp   實現   sock   abstract   ica   readwrite   run   學習   事務   

一,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()

 

Qt 多線程和網路編程學習

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.