当前位置: 首页 > news >正文

wordpress 空间商seo是什么的

wordpress 空间商,seo是什么的,网页版微信二维码一直失效,wordpress实现会员中心一、QThread类 如果要设计多线程程序#xff0c;一般是从QThread继承定义一个线程类#xff0c;并重新定义QThread的虚函数 run() #xff0c;在函数 run() 里处理线程的事件循环。 应用程序的线程称为主线程#xff0c;创建的其他线程称为工作线程。主线程的 start() 函数…一、QThread类 如果要设计多线程程序一般是从QThread继承定义一个线程类并重新定义QThread的虚函数 run() 在函数 run() 里处理线程的事件循环。 应用程序的线程称为主线程创建的其他线程称为工作线程。主线程的 start() 函数会在其内部调用 run() 函数然后 exec() 函数会让 run() 函数保持运行进入工作线程的事件循环随时接收系统事件。如下图所示 注MyThread 继承于 QThread。 二、线程同步 1. 互斥量Mutex 在多线程程序中线程之间可能需要访问同一个变量临界资源或一个线程需要等待另一个线程完成某个操作才产生相应的动作。QMutex 和 QMutexLocker 都是基于互斥量的线程同步类。 QMutex 的 lock() 函数用来锁定互斥量unlock() 函数用来解锁互斥量。这两个方法必须配对使用。其次还要一个 tryLock() 函数如果函数返回 true 则表示成拿到了共享资源。示例如下 QMutex mutex;void MyThread::run() {while(true) {mutex.lock(); //锁定互斥量...mutex.unlock(); //解锁互斥量} } QMutexLocker 和 QMutex 相比是一个简化了互斥量处理的类。它的构造函数接受互斥量作为参数并将其锁定其析构函数则将此互斥量解锁。QMutexLocker 会使其在生存期内的代码片段得到保护。示例如下 QMutex mutex;void MyThread::run() {while(true) {if (mutex.tryLock(500)) //尝试锁定一个信号量最多等500ms{QMutexLocker locker(mutex); //锁定mutex超出if范围自动解锁... }} } 2. 读写锁ReadWriteLock 使用互斥量时存在一个问题那就是每次只有一个线程获得互斥量的使用权限。如果在一个程序中有多个线程读取某个变量那么这个变量就不是临界资源是允许同时访问的。这时我们就需要 Qt 提供的读写锁类 QReadWriteLock它是基于读或写的方式进行代码片锁定的。 其中 lockForRead() 函数会以只读方式锁定资源锁定后其他线程只能读不能写。 lockForWrite() 函数以写的方式锁定资源锁定后其他线程不能读也不能写。 3. 条件等待WaitCondition QWaitCondition 提供了一种改进的线程同步方法。它通过与 QReadWriteLock 结合使用可以使一个线程在满足一定条件下通知其他多个线程使其他多个线程即时进行响应。 其中 wait() 函数用于释放互斥量wakeAll() 函数用于唤醒所有处于等待状态的线程。wait() 函数定义如下 bool wait(QReadWriteLock *readWriteLock, unsigned long time) QWaitCondition 一般用于生产者/消费者producer/consumer问题。暂且假设缓冲区一直有资源且无限大示例代码如下 QReadWriteLock rwLocker; //读写锁QWaitCondition waiter; //控制线程同步的对象// 生产者 void ProducerThread::run() {while(1) {rwLocker.lockForWrite(); //以写方式锁定...rwLocker.unlock(); //解锁waiter.wakeAll(); //唤醒其他等待的线程msleep(500); //线程休眠500ms} }// 消费者1 void ConsumerThread1::run() {while(1) {rwLocker.lockForRead(); //以只读方式锁定waiter.wait(rwLocker); //等待被唤醒...rwLocker.unlock(); //解锁} }// 消费者2 void ConsumerThread2::run() {while(1) {rwLocker.lockForRead(); //以只读方式锁定waiter.wait(rwLocker); //等待被唤醒...rwLocker.unlock(); //解锁} } 4. 信号量Semaphore 信号量与互斥量类似但二者又有区别。一个互斥量只能被锁定一次而信号量可以被多次利用。信号量通常用来保护一定数量的相同资源如双缓冲区。 QSemaphore 就是 Qt 实现信号量功能的类。其中 acquire(int n) 用于尝试获得n个资源release(int n) 用于释放n个资源。available() 用于返回当前信号量的可用资源个数。
http://www.dnsts.com.cn/news/106158.html

相关文章:

  • 企业网站搭建多少钱保健品网站制作
  • 网站建设公司主营业务传奇网页游戏破解版
  • 网站品牌推广设计建设一个网站平台要多少钱
  • 山西响应式网站建设设计做什么推广最赚钱
  • 网站建设营销的公司免费咨询法律律师在线12348
  • 如何做一个简单的网站公司注册地址是什么
  • 做商务网站公司专业网站运营制作
  • 创建一个个人网站需要多少钱树莓派可以用wordpress
  • 赤峰网站制作公司乐清市住房和城乡规划建设局网站
  • 富阳营销型网站建设wordpress推荐插件
  • 合作行业网站建设cms建设网站
  • 要想浏览国外网站 应该怎么做南昌有哪些推广平台
  • 大理网站制作公司太原网页设计师
  • 宁夏固原住房和建设局网站百度官网首页登录入口
  • wap网站制作开发公司网站改版活动
  • 秦皇岛市教育局长春优化所
  • 沂源网站建设yx718win10系统优化软件
  • 建设一个网站是不必须备案欧美风格英文网站设计
  • 建设电商网站报价永久8x的最新域名
  • 住房和城乡建设部贰级建造师网站asp网站开发招聘
  • thinkphp 网站开发手机网页怎么缩小比例
  • 建设银行宁波分行 招聘网站如何做好互联网营销
  • 在线观看视频的免费网站wordpress后台优化
  • 怎么给制作网站谷歌地图网站动效怎么做的
  • 用vs2013做网站网站快照回档
  • 怎么建立自己的站点wordpress主題
  • 无锡华士镇网站建设建设网站人员名单
  • 公司建网站公司下载网站开发
  • 辽宁住房和城乡建设部网站网站建设 公司 常州
  • 深圳网站的建设昆山设计公司