Qt多线程学习(一)——继承QThread
目录
- 目录
- 前言
- 多线程
- 多线程的优点
- 多线程继承QThread
- 代码分析
- QMutexLocker
- 如何正确启动一个线程
- 正确的启动一个全局线程
- 如何启动一个局部线程
- 局部线程的需求
- 继承QThread的总结
- 注意
- 总结
- 参考链接
前言
通过继承QThread
的run
函数来实现。
学习!分享!感谢!
多线程
多线程的优点
- 提高应用程序的响应速度。对开发图形界面程序尤为重要,当一个操作耗时很长时,整个系统都会等待这个操作,程序就不能响应键盘、鼠标、菜单等操作,而使用多线程技术可将耗时长的操作置于一个新的线程,从而避免上述问题。
- 使多CPU系统更加有效。当线程数不大于CPU数目时,操作系统可以调度不同的线程运行与不同的CPU上。
- 改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为独立或半独立的运行部分,这样有利于程序的理解和维护。
多线程继承QThread
注意:QThread
只有run
函数是在新线程中。
如果QThread
是在ui
所在线程中生成,那么QThread
的其他非run
函数都是和ui
线程一样的。所以QThread
的继承类的其他函数尽量别要有太耗时的操作,要确保所有耗时的操作都在run
函数里。在ui
线程下调用QThread
的非run
函数和执行普通函数无区别。这时,如果这个函数要对QThread
的某个变量进行变更,而这个变量在run
函数也会被用到,这时就需要注意加锁的问题。
- 继承于
QThread
的线程
任何继承于QThread
的线程都是通过继承QThread
的run()
函数来实现多线程。因此,必须重写QThread
的run()
函数,把复杂逻辑写在QThread
的run()
函数中。run()
是纯虚函数,是线程执行的入口,在run()
函数里出现的代码会在另外的线程中被执行。run()
函数是通过start()
函数来实现调用的。
代码分析
这里建议直接参考源作者的github项目,我主要对作者中用到的一些技巧做记录!作为以后写多线程程序的备用!
void Widget::onButtonQThreadClicked()
{ui->progressBar->setValue(0);if(m_thread->isRunning()){return;}m_thread->start();
}
在这个函数中,鼠标点击按钮后会调用这个槽函数,这个槽函数中m_thread是继承了QThread的线程,我们为了保证这个线程中的run函数只执行一次,实现调用m_thread->isRunning()
来判断实例化的线程是否已经在执行了。
如何退出一个线程?作者提到在继承QThread的线程中定义如下:
private:QMutex m_lock;bool m_isCanRun;
然后,在线程中对m_isCanRun
这个变量的值进行判定(当然这种情况一定是在一个循环中了),如果m_isCanRun
不满足条件,就使用return
退出循环
void ThreadFromQThread::run()
{int count = 0;m_isCanRun = true; //标记可以运行while(1){doSomething();{QMutexLocker locker(&m_lock);if(!m_isCanRun) // 在每次循环判断是否可以运行,如果不行就退出循环{return;}}// 注意这里在QMutexLocker外加了一层{}}
}void ThreadFromQThread::stopImmediately()
{QMutexLocker locker(&m_lock);m_isCanRun = false;
}
在调用了stopImmediately()
函数的时候,就会改变对象线程的m_isCanRun
的值,从而在线程run()
中循环判定这个值后,即可退出线程。线程退出会发送finish
信号。我们可以在主线程中连接一个槽(比如:onQThreadFinished),对线程结束进行一些操作
connect(thread, &QThread::finished, this, &Widget::onQThreadFinished);
QMutexLocker
QMutexLocker用来简化互斥量的锁定和解锁操作。在复杂函数或者异常处理代码中互斥量的锁定和解锁容易出错和难以调试。QMutexLocker就可以应用于这些情况,确保互斥量总是定义明确。
应该在程序中QMutex需要被锁定的地方创建QMutexLocker。当QMutexLocker被创建后,互斥量锁定。可以使用unlock()和relock()来解锁和再次锁定互斥量。如果互斥量被锁定,当QMutexLocker销毁的时候,自动实现互斥量的解锁。
如何正确启动一个线程
线程启动设计到它的父对象归属问题和如何删除它的问题。首先要搞清楚这个线程是否和UI的生命周期一致,直到UI结束线程才结束,还是这个线程只是临时生成,等计算完就销毁。
第一种情况的线程在创建时会把生成线程的窗体作为它的父对象,这样窗体结束时会自动析构线程的对象。但这时候要注意一个问题,就是窗体结束时线程还未结束如何处理,如果没有处理这种问题,你会发现关闭窗口时会导致程序崩溃。往往这种线程是一个监控线程,如监控某个端口的线程。为了好区分,暂时叫这种叫全局线程,它在UI的生命周期中都存在。
第二种情况是一种临时线程,这种线程一般是突然要处理一个大计算,为了不让UI假死需要触发的线程,这时需要注意一个问题,就是在线程还没计算完成,用户突然终止或变更时如何处理,这种线程往往更多见且更容易出错,如打开一个大文件,显示一个大图片,用户可能看一个大图片还没等图片处理完成又切换到下一个图片,这时绘图线程要如何处理才能顺利解决?为了好区分,暂时叫这种叫局部线程,它在UI的生命周期中仅仅是某时刻才会触发,然后销毁。
正确的启动一个全局线程
- widget.h
class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();
private slots:private:Ui::Widget *ui;ThreadFromQThread* m_thread;
};
- widget.cpp
Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget),m_objThread(NULL)
{ui->setupUi(this);//全局线程的创建//全局线程创建时可以把窗体指针作为父对象m_thread = new ThreadFromQThread(this);//关联线程的信号和槽connect(m_thread,&QThread::finished,this,&Widget::onQThreadFinished);
}
由于是全局存在的线程,因此在窗体创建时就创建线程,可以把线程的父对象设置为窗体,这是需要注意,别手动delete线程指针。由于你的QThread是在Qt的事件循环里面,手动delete会发生不可预料的意外。理论上所有QObject都不应该手动delete,如果没有多线程,手动delete可能不会发生问题,但是多线程情况下delete非常容易出问题,那是因为有可能你要删除的这个对象在Qt的事件循环里还排队,但你却已经在外面删除了它,这样程序会发生崩溃。
如果你确实要删除,请参阅void QObject::deleteLater () [slot]
这个槽,这个槽非常有用,尤其是对局部线程来说。后面会经常用到它用于安全的结束线程。
在需要启动线程的地方调用start
函数即可启动线程。
void Widget::onButtonQThreadClicked()
{ui->progressBar->setValue(0);if(m_thread->isRunning()){return;}m_thread->start();
}
如果线程已经运行,你重复调用start
其实是不会进行任何处理
一个全局线程就那么简单,要用的时候start
一下就行。真正要注意的是如何在ui结束时把线程安全退出。
在widget的析构函数中
Widget::~Widget()
{qDebug() << "start destroy widget";m_thread->stopImmediately();m_thread->wait();delete ui;qDebug() << "end destroy widget";
}
这里要注意的是m_thread->wait();
这一句,这一句是主线程等待子线程结束才能继续往下执行,这样能确保过程是单一往下进行的,也就是不会说子线程还没结束完,主线程就destroy
掉了(m_thread
的父类是主线程窗口,主线程窗口如果没等子线程结束就destroy
的话,会顺手把m_thread也delete这时就会崩溃了),因此wait的作用就是挂起,一直等到子线程结束。
还有一种方法是让QThread自己删除自己,就是在new线程时,不指定父对象,通过绑定void QObject::deleteLater () [slot]槽让它自动释放。这样在widget析构时可以免去m_thread->wait();这句。
如何启动一个局部线程
启动一个局部线程(就是运行完自动删除的线程)方法和启动全局线程差不多,但要关联多一个槽函数,就是之前提到的void QObject::deleteLater () [slot],这个槽函数是能安全释放线程资源的关键(直接delete thread指针不安全)。
- 举例
void Widget::onButtonQThreadRunLoaclClicked()
{//局部线程的创建的创建ThreadFromQThread* thread = new ThreadFromQThread(NULL);//这里父对象指定为NULLconnect(thread, &QThread::finished, this, &Widget::onQThreadFinished); // 触发主窗口的槽函数进行一些处理,和销毁无关connect(thread,&QThread::finished, thread, &QObject::deleteLater); // 线程结束后调用deleteLater,在确认消息循环中没有这个线程的对象后,用来销毁分配的内存thread->start();
}
局部线程的需求
点击按钮加载图片,再次点击按钮加载另一张图片。也就是需要终结上次未执行完的线程,重新执行一个新线程。这种情况非常多见,例如一个普通的图片浏览器,都会有下一张图和上一张图这种按钮,浏览器加载图片一般都在线程里执行(否则点击超大图片时图片浏览器会类似卡死的状态),用户点击下一张图片时需要终止正在加载的当前图片,加载下一张图片。你不能要求客户要当前图片加载完才能加载下一张图片,这就几乎沦为单线程了。这时候,就需要终止当前线程,开辟新线程加载下一个图片。
原作者的处理方法是:在UI的头文件中使用一个成员变量记录正在运行的线程。
private slots:void onLocalThreadDestroy(QObject* obj);
private:QThread* m_currentRunLoaclThread;
运行的生成的临时线程函数变为:
void Widget::onButtonQThreadRunLoaclClicked()
{//局部线程的创建的创建if(m_currentRunLoaclThread){m_currentRunLoaclThread->stopImmediately();}ThreadFromQThread* thread = new ThreadFromQThread(NULL);connect(thread,&ThreadFromQThread::message,this,&Widget::receiveMessage);connect(thread,&ThreadFromQThread::progress,this,&Widget::progress);connect(thread,&QThread::finished,this,&Widget::onQThreadFinished);connect(thread,&QThread::finished,thread,&QObject::deleteLater);//线程结束后调用deleteLater来销毁分配的内存connect(thread,&QObject::destroyed,this,&Widget::onLocalThreadDestroy);thread->start();m_currentRunLoaclThread = thread;
}void Widget::onLocalThreadDestroy(QObject *obj)
{if(qobject_cast<QObject*>(m_currentRunLoaclThread) == obj){m_currentRunLoaclThread = NULL;}
}
这里用一个临时变量记录当前正在运行的局部线程,由于线程结束时会销毁自己,因此要通知主线程把这个保存线程指针的临时变量设置为NULL 因此用到了QObject::destroyed信号,在线程对象析构时通知UI把m_currentRunLoaclThread设置为NULL.
也就是发出线程结束后,QObject
中会产生这个线程结束的信号,同时把这个结束的线程的线程ID记录下来。我们可以根据这个线程ID来设置m_currentRunLoaclThread为NULL.
继承QThread的总结
- 在QThread执行start函数之后,run函数还未运行完毕,再次start不会产生后果,但是最好用
isRunning()
判断下。 - 在继承QThread的子线程运行过程中,主线程中调用quit不会有效果
- 程序在退出是要判断个线程是否安全退出,没退出的应该让子线程先终止。如果不进行判断,很可能程序退出时会崩溃。如果线程的父对象是窗口对象,那么在窗体的析构函数中,还需要调用
wait
函数等待线程完全结束再进行下面的析构。 - 善用
QObject::deleteLater
和QObject::destroyed
来进行内存管理 由于多线程环境你不可预料下一步是哪个语句执行,因此,加锁和自动删除是很有用的工具,加锁是通过效率换取安全,用Qt的信号槽系统可以更有效的处理这些问题。
注意
- 在
GUI
程序中,主线程也被称为GUI
线程,因为它是唯一一个允许执行GUI
相关操作的线程。必须在创建一个QThread
之前创建一个QApplication
对象。 - 线程会因为调用
printf()
而持有一个控制I/O
的锁,多个线程同时调用printf()
在某些情况下会造成控制台输出阻塞,而用qDebug()
作为控制台输出一般不会出现阻塞的问题。
总结
注意的就是局部线程和全局线程退出时的不同点。全局线程使用共享变量的方式退出,而局部线程使用QObject::deleteLater
的方式退出。
参考链接
Qt多线程学习:创建多线程
Qt使用多线程的一些心得——1.继承QThread的多线程使用方法
QMutexLocker
QThread详解
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- DaVinci DM6437 中文教程
一、DaVinci DM6437 概述TMS320DM6437是TI公司2006年推出的、专门为高性能、低成本视频应用开发的、主频600MHz的、32位定点DSP达芬奇 (DaVinci(TM)) 技术的处理器系列。TMS320DM6437具有下列特点: 采用TI第3代超长指令集结构(VelociTI.3)的TMS320C64x+ DSP内核,主频可达6…...
2024/4/12 4:42:46 - 基于LayuiIM框架的聊天项目(群聊功能已实现)
演示视频基于LayuiIM框架的聊天项目1.介绍技术架构:Springboot+websocket+MySQL+LayuiIM 注意事项:此项目仅供交流学习,不可用于商业用途,更不可出售本项目源代码。如果出现问题本人概不负责。另外本项目的websocke架构不够完善,所以不建议使用在实际的项目中。 本项目的L…...
2024/4/18 17:32:50 - 微信小程序类别与产品展示页面
wxml:(上海虹桥店)>点击添加"…"到我的小程序,微信首页下拉即可快速访问1 2 3{{item.title}} {{item.detail}} {{item.money}}立即购买less: .text { width: 100%; height: 100%; .active {background-color: #ffffff;border-left: 10rpx solid #74003C;}.top {…...
2024/4/20 1:54:33 - python网络爬虫系列教程——PhantomJS包应用全解
全栈工程师开发手册 (作者:栾鹏)python教程全解如果页面是JS渲染的该怎么办呢?如果我们单纯去分析一个个后台的请求,手动去摸索JS渲染的到的一些结果,那简直没天理了。所以,我们需要有一些好用的工具来帮助我们像浏览器一样渲染JS处理的页面。其中有一个比较常用的工具,…...
2024/5/8 23:36:50 - flutter项目实践01
这篇文章来自我自己的有道云笔记 想看图片去那里 文档:Day 4_1 项目实践.md 链接:http://note.youdao.com/noteshare?id=1b97681ceb71e681d4b41c40ccdf4129&sub=5103CDAE33354B02AB269015C3FD36FB 项目实践 一个小问题 如果你升级了Xcode这些软件 会导致这个运行不出来的…...
2024/5/8 22:39:11 - 视频教程- Spring boot权限管理系统/零基础/Layui -Java
Spring boot权限管理系统/零基础/Layui 多年软件开发工作经验,丰富的培训经历,从2014年开始一直奋战在培训讲师行业的先锋队,培训期间不断制定出完整的培训课程体系,还承担大部分课程的讲解,不断培养学生的编程能力。从进入培训行业以来先后培训出2400多学员,分布于各大I…...
2024/4/12 4:42:40 - 为什么大数据工程师比Java程序员工资高
为什么大数据工程师比Java程序员工资高大数据开发课程培养的主要是Java工程师和开发工程师,授课内容包含Java和大数据部分。Java作为一门主流的编程开发语言和职场技能,已经得到越来越多的应届毕业生和职场新人的认可。越来越多的人通过各类培训机构或在线课程在学习Java编程…...
2024/4/19 17:14:05 - TI的davinci和omap资源
TI网站资源,建议大家注册一个my.ti.com,方便下载一些软件开发工具和资料 TI中文主页: http://focus.ti.com.cn/cn/tihome/docs/homepage.tsp 或者www.ti.com 从“处理器”链接可以链接到每个芯片的资料主页,比如: http://focus.ti.com.cn/cn/docs/prod/folders/print/o…...
2024/4/12 13:32:07 - QT多线程服务器端
1、可以同时接受多个客户端的连接,同时接收多个客户端的文件传输任务,采用的是多线程的方法。程序下载地址:https://download.csdn.net/download/u012372584/10755783左边是上传进度,右边是接收进度。...
2024/3/31 16:30:33 - 2019最新传智播客C语言/C++第5期基础班+就业班完整(70G)
课程介绍 还是要多唠叨几句,学IT技术,培养兴趣最重要,尤其是编程部分,所以先从简单的学习,激发兴趣学习会事倍功半 确实是一套下功夫用心学就可以就业的课程,真正的从零基础到项目实战,全由经验丰富的讲师来讲解, 分为C语言基础班、C语言就业班、C++就业班、Linux基…...
2024/3/31 16:30:31 - 【javascript 画进度条】js实现进度条的方法
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>进度条</title> </head><style type="text/css">.container{width:450px;border:1px solid #6C9C2C;height:25px;}#bar…...
2024/4/19 23:43:01 - 微信小程序入门教程+案例demo
微信小程序入门教程+案例demo尊重原创,转载请注明出处:原文查看惊喜更多 http://blog.csdn.net/qq137722697首先摆在好姿态,——微信小程序开发也就那么回事。你只需要一点点css(真的只要一点点)的基础就可以了。认清微信小程序开发其实,我觉得小程序就是将微信官方提供2…...
2024/4/19 13:21:42 - QT多线程备忘
研究了近一周的qt多线程了,路途很艰辛,看了很多论坛博客,写了很多测试程序,收获颇多。现在将自己遇到的问题和解决方法分享出来,希望能带给大家帮助,也方便自己日后查看。 1.对于qt多线程,我还是希望大家使用新建qobject的子类,然后使用它的 moveToThread()方法,实现…...
2024/4/19 19:17:56 - 最新《微专业Android安卓开发工程师课程》
1.Android应用界面开发资源下载001 Android开发简介.flv002 开始第一个应用.flv003 Activity你必须知道的那些事(上).flv004 Activity你必须知道的那些事(下).flv005 多姿多彩的控件.flv006 常用控件讲解.flv69.mp3007 Android开发布局详解.flv008 Android布局技巧与优化.flv00…...
2024/4/20 16:50:16 - Android 十年总结:1.5 到 10.0 都有哪些新特性?面试常问题
文热导读| 点击标题阅读知识星球第三期开园了~转自:嘟嘟呢Android 1.5(Cupcake纸杯蛋糕):智能虚拟键盘;使用widgets实现桌面个性化;在线文件夹(Live Folder)快速浏览在线数据;视频录制和分享;图片上传;更快的标准兼容浏览器;Voice search 语音搜索;立体声蓝牙和免…...
2024/4/13 22:27:36 - QT多线程调用python
由于Python解释器有全局解释所GIL的原因,导致在同一时刻只能有一个线程拥有解释器,所以在C++多线程调用python脚本时,需要控制GIL,线程获取GIL。 所以一个程序里,无论有多少条线程调用python,python只能初始化一次。 每次线程要调用python时,都要拥有GIL。 //python只需…...
2024/4/16 16:38:12 - 纯JS实现拖动进度条 并附回调函数
之前工作需要一个回放的功能 不是视频回放 是百度地图API相关的移动轨迹回放 然后需要做些快进 倍速播放之类的 这篇就是抽出了我的进度条模块button其中changePercent为例子方法 可以通过其中的公式来自动化控制进度条其中*5是因为scroll的宽度为500px 这个地方要注意例如scro…...
2024/5/6 14:56:55 - 工程师总结汇总2020年学习Docker基础入门教程全集
Docker 是一个开源的、轻量级的容器引擎,主要运行于 Linux 和 Windows,用于创建、管理和编排容器。和 VMware 虚拟机相比,Docker 使用容器承载应用程序,而不使用操作系统,所以它的开销很少,性能很高。但是,Docker 对应用程序的隔离不如虚拟机彻底,所以它并不能完全取代…...
2024/4/12 4:43:34 - DAVINCI项目日志
2013 05 31 DVR:DigitalVideoRecorder(硬盘录像机),即数字视频录像机,2013 06 03 修改内核,编译通过 配置tftp服务器:windows端使用“思科 TFTP 服务器”软件,“查看”->“选项”设置 “TFTP服务器根目录”路径,将共享的文件放到该路径下。 启动开发板,输入命令“…...
2024/4/19 1:28:39 - 拖放排序列表JS插件---SortableJS使用教程
github下载地址:https://github.com/SortableJS/Sortable个人百度网盘下载地址:链接:https://pan.baidu.com/s/1Y4Od-Ysgs2xliTUjb16S-A 提取码:emvt 业务逻辑:从右边全部课程区域拖拽一个副本到左边区域,右边数据源区域不能产生排序,左边内容接收区分好几个tab,每个t…...
2024/4/27 8:24:46
最新文章
- DCL 的学习
-- 创建用户 itcast , 只能够在当前主机localhost访问, 密码123456; create user itcastlocalhost identified by 123456; -- 创建用户 heima , 可以在任意主机访问该数据库, 密码123456 ; create user heima% identified by 123456; -- 修改用户 heima 的访问密码为 1234 ; a…...
2024/5/8 23:40:13 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/7 10:36:02 - 深入浅出 -- 系统架构之微服务中Nacos的部署
前面我们提到过,在微服务架构中,Nacos注册中心属于核心组件,通常我们会采用高性能独立服务器进行部署,下面我们一起来看看Nacos部署过程: 1、环境准备 因为Nacos是支持windows和Linux系统的,且服务器操作…...
2024/5/5 1:21:32 - 整理的微信小程序日历(单选/多选/筛选)
一、日历横向多选,支持单日、双日、三日、工作日等选择 效果图 wxml文件 <view class"calendar"><view class"section"><view class"title flex-box"><button bindtap"past">上一页</button&…...
2024/5/7 15:24:56 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/8 6:01:22 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/7 9:45:25 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/7 14:25:14 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/7 11:36:39 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/8 20:48:49 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/7 9:26:26 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/8 19:33:07 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/8 20:38:49 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/6 21:42:42 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57