zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    ES基础(五十五)在私有云与公有云上管理与部署 Elasticsearch 集群
    ES基础(五十四)如何对集群进行容量规划
    ES基础(五十二)Hot & Warm 架构与 Shard Filtering
    ES基础(四十九)集群内部安全通信
    ES基础(四十八)集群身份认证与用户鉴权
    kata + docker run & star
    libcontainer nsexec + unshare + syscall(SYS_setns
    docker createHooks
    mount namespace
    exec.Command("/proc/self/exe", "child")
  • 原文地址:https://www.cnblogs.com/weizhixiang/p/6259260.html
Copyright © 2011-2022 走看看