Qt 多线程和网络编程学习

本文介绍Qt中多线程编程的基础类如QThread、QMutex等,并讲解了线程间的同步机制;同时覆盖了Qt网络编程的核心类,包括QTcpSocket、QUdpSocket等,适用于客户端和服务端的开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

转载于:https://www.cnblogs.com/weizhixiang/p/6259260.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值