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

专业建站推荐南宁seo内部优化

专业建站推荐,南宁seo内部优化,做展示空间设计的网站,网站做子域名QEventLoop和QtConcurrent可以结合使用达到主线程ui不阻塞同步执行的效果,但是要小心避坑,查看如下代码: QEventLoop loop; QtConcurrent::run([&]() {doSomething();loop.quit(); }); loop.exec();上述写法存在两个问题: Q…

QEventLoop和QtConcurrent可以结合使用达到主线程ui不阻塞同步执行的效果,但是要小心避坑,查看如下代码:

QEventLoop loop;
QtConcurrent::run([&]()
{doSomething();loop.quit();
});
loop.exec();

上述写法存在两个问题:

  1. QtConcurrent::run()执行后线程立即开始执行,当doSomething()很快时,loop.quit()的执行时间可能早于loop.exec(),这样事件循环就再也不会退出了!
  2. 当doSomething因为某些原因crash时,如果没有导致程序崩溃,loop.quit无法被执行,事件循环同样无法退出。下面给出优化后的代码
QEventLoop loop;
QThread* pThread = QThread::create([&]()
{doSomething();
});
connect(pThread, &QThread::finished, &loop, &QEventLoop::quit);
pThread->start(); // 线程开始执行
loop.exec();

这里注意两个点:

  1. connect必须在start之前,这样即使线程执行很快,我们也能保证信号和槽已经被connect连接,槽函数会被执行
  2. connect默认第五个参数时Qt::AutoConnection,在信号发出时,由于信号发送线程和loop不在一个线程,类型被推断为Qt::QueuedConnection,所以finished信号生成的事件会放到事件队列中,在loop.exec()的循环中被处理,因此loop.exec一定会退出
http://www.tj-hxxt.cn/news/69084.html

相关文章:

  • 临沂网站建设选盛誉网络营销课程有哪些
  • 成都幼儿园网站建设本周国内重大新闻十条
  • 南宁手机平台网网站建设传统营销与网络营销的区别
  • 从手机上可以做网站吗跨境电商平台哪个最好最可靠
  • 网站代理合作全网营销策划公司
  • 网页设计的最佳尺寸关键词优化公司靠谱推荐
  • 网络销售模式 自建网站seo推广要多少钱
  • 如何查询网站收录情况哪里有免费的网站推广服务
  • 个人社保缴费比例是多少淘宝seo对什么内容优化
  • 网上做网站怎么赚钱吗信息流优化师前景
  • 做网站vpn多大内存bing搜索引擎下载
  • 优秀的网站设计目前小说网站排名
  • 在线做家装设计的网站深圳网络推广外包公司
  • 怎么自己做购物网站手机百度app安装下载
  • 网站布局内容2023年最新新闻简短摘抄
  • 网站建设到上线的步骤过程优化大师优化项目有
  • dw怎么做滚动视差的网站网店代运营骗局流程
  • 公益网站怎么做友链提交入口
  • 自己做的网站打开是乱码宁波seo推荐推广平台
  • 东莞网约车资格证官网登录入口百度关键词优化公司
  • 个人网站设计摘要域名查询ip138
  • 做钢材生意一般做什么网站好长沙网站外包公司
  • 临沂网站建设方案书百度推广
  • 建设通官网通seo在哪可以学
  • html5官网免费下载搜索引擎优化
  • 学校内部网站开发价格推广业务
  • 仿牌外贸网站建设静态网站开发
  • 网站用户维度汉川seo推广
  • 白银网站建设熊掌号网站推广的公司
  • 网站如何布局什么是网站seo