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

如何实现网站开发手机验证码centos 安装wordpress

如何实现网站开发手机验证码,centos 安装wordpress,军事新闻最新消息今天,绍兴seo外包1.QThread线程基础 QThread是Qt线程中有一个公共的抽象类#xff0c;所有的线程类都是从QThread抽象类中派生的#xff0c;需要实现QThread中的虚函数run(),通过start()函数来调用run函数。 void run#xff08;#xff09;函数是线程体函数#xff0c;用于定义线程的功能…1.QThread线程基础 QThread是Qt线程中有一个公共的抽象类所有的线程类都是从QThread抽象类中派生的需要实现QThread中的虚函数run(),通过start()函数来调用run函数。 void run函数是线程体函数用于定义线程的功能。 void start函数是启动函数用于将线程入口地址设置为run函数。 void terminate函数用于强制结束线程不保证数据完整性和资源释放。 QCoreApplication::exec()总是在主线程(执行main()的线程)中被调用不能从一个QThread中调用。在GUI程序中主线程也称为GUI线程是唯一允许执行GUI相关操作的线程。另外必须在创建一个QThread前创建QApplication(or QCoreApplication)对象。 当线程启动和结束时QThread会发送信号started()和finished()可以使用isFinished()和isRunning()来查询线程的状态。 从Qt4.8起可以释放运行刚刚结束的线程对象通过连接finished()信号到QObject::deleteLater()槽。      使用wait()来阻塞调用的线程直到其它线程执行完毕或者直到指定的时间过去。 静态函数currentThreadId()和currentThread()返回标识当前正在执行的线程。前者返回线程的ID后者返回一个线程指针。 要设置线程的名称可以在启动线程之前调用setObjectName()。如果不调用setObjectName()线程的名称将是线程对象的运行时类型QThread子类的类名。 应用程序的线程称为主线程额外创建的线程为工作线程。一般在主线程里面创建工作线程并调用 start() 开始执行工作线程的任务。start会在内部调用run函数进入工作线程的循环在 run() 函数里调用 exit() 或 quit() 可以结束线程的事件循环或在主线程里调用 terminate() 强制结束线程。 QThread类的主要接口类型函数功能       公共函数bool  isFinished ()线程是否结束bool  isRunning ()线程是否正在运行Priority  priority ()返回线程的优先级void setPriority (Priority  priority)设置线程的优先级void exit(int returnCode0)退出事件的循环退出码为returnCode 0表示成功否则表示有错误bool waitunsigned long time阻止线程执行直到线程结束从run函数返回或等待时间超过time毫秒公共槽函数void  quit退出线程的事件循环并返回代码0等效于exitvoid  startPriority  priority内部调用run函数开始执行线程操作系统根据priority参数进行调度终止线程的运行但不是立即结束线程而是等待操作系统结束线程。使用terminate之后应使用waitvoid terminate() 信号void  finished()在线程结束时发射此信号void start()在线程开始执行、run函数被调用之前发射此信号静态公共函数int  idealThreadCount()返回系统上能运行的线程的理性个数void  msleep(unsigned long msecs) 强制当前线程休眠msecs毫秒void sleep(unsigned long secs)强制当前线程休眠secs秒void  usleep(unsigned long usecs) 强制当前线程休眠uecs微秒保护函数virtual void run()start()调用run函数开始线程任务的执行所以在run函数里实现线程的任务功能int exec()由run函数调用进入线程的时间循环等待exit退出 2.小案例 threaddlg.h #ifndef THREADDLG_H #define THREADDLG_H #define MAXSIZE 5 #include workthread.h #include QDialog #include QPushButtonQT_BEGIN_NAMESPACE namespace Ui { class Threaddlg; } QT_END_NAMESPACEclass Threaddlg : public QDialog {Q_OBJECTpublic:Threaddlg(QWidget *parent nullptr);~Threaddlg();private:Ui::Threaddlg *ui;QPushButton *startBtn;QPushButton *stopBtn;QPushButton *quitBtn;WorkThread *workThread[MAXSIZE];public slots:void slotStart();void slotStop();}; #endif // THREADDLG_Hthreaddlg.cpp #include threaddlg.h #include ui_threaddlg.h #includeQHBoxLayout Threaddlg::Threaddlg(QWidget *parent): QDialog(parent), ui(new Ui::Threaddlg) {ui-setupUi(this);setWindowTitle(QStringLiteral(线程));startBtnnew QPushButton(QStringLiteral(线程));stopBtnnew QPushButton(QStringLiteral(停止));quitBtnnew QPushButton(QStringLiteral(退出));QHBoxLayout *mainLayoutnew QHBoxLayout(this);mainLayout-addWidget(startBtn);mainLayout-addWidget(stopBtn);mainLayout-addWidget(quitBtn);connect(startBtn,SIGNAL(clicked()),this,SLOT(slotStart()));connect(stopBtn,SIGNAL(clicked()),this,SLOT(slotStop()));connect(quitBtn,SIGNAL(clicked()),this,SLOT(close()));}Threaddlg::~Threaddlg() {delete ui; }void Threaddlg::slotStart() {for(int i0;iMAXSIZE;i){workThread[i]new WorkThread; //创建指定数目的WorkThread线程并将其保存在指针数组workThread中}for(int i0;iMAXSIZE;i){workThread[i]-start();//调用QThread基类start函数此函数将启动run,使线程开始真正运行}startBtn-setEnabled(false);stopBtn-setEnabled(true); }void Threaddlg::slotStop() {for(int i0;iMAXSIZE;i){workThread[i]-terminate();//terminate函数不会立刻终止这个线程该线程何时终止取决于操作系统的调度策略workThread[i]-wait();//使线程阻塞等待直到退出或超时}startBtn-setEnabled(true);stopBtn-setEnabled(false); } WorkThread.h #ifndef WORKTHREAD_H #define WORKTHREAD_H #include QThread #include QtDebug class WorkThread : public QThread { public:WorkThread();protected:void run(); };#endif // WORKTHREAD_HWorkThread.cpp #include workthread.hWorkThread::WorkThread() {}void WorkThread::run() {while(true){for(int n0;n10;n)qDebug()nnnnnnn;} }结果 1个线程                                                                                                           5个线程 可以看出一个线程输出是顺序打印的5个线程也就是多线程的输出结果是乱码打印的 犯了一个很低级的错误 报错为 原来是因为    对了就是clicked没有加括号
http://www.hkea.cn/news/14284423/

相关文章:

  • 西安网站微信开发企业用什么邮箱比较好
  • 华为云做网站网站开发工期安排表
  • 正规的网站制作平台北京百度seo点击器
  • 南通网站seo报价企业网站推广计划书
  • 中企建网站dede做网站
  • 哪个网站推广好wordpress 4.7.1
  • 网站打开速度太慢做网站收录
  • 环境艺术设计网站推荐做一个学校网站怎么做
  • 自己做网站怎么上传到网上网银在线北京网络科技有限公司
  • 我学的 网站开发 能进华为公司么国家知识产权专利网官网
  • 做包装看什么网站别人的网站是怎么找到的
  • 台州网站搭建智慧管网建设方案
  • 网站建设自学建站视频教程网站解析时候让做别名
  • 南宁有做网站的公司吗wordpress编辑器失效
  • 国际网站浏览器网站建设怎么记账
  • 网站里面如何在新闻列表上显示hot中山网站建设哪家便宜
  • 建网站多少钱 优帮云淘宝领卷网站什么做
  • 网站后台模板关联自己做的网站怎么做祝福网站
  • 顺义区做网站wordpress防止
  • 吉林网站建设哪家有工程招聘app都有哪些
  • 有没有可以做游戏的网站吗建设网站费用多少钱
  • 网站做一些流量互换seo标题优化是什么意思
  • wordpress多站点版网站开发 绩效考核
  • 网站建设与维护百科wordpress 注册赠送
  • 仿站小工具wordpress校园云网站建设
  • 深圳建设局投标网站怎么做h5动态页面
  • 网站模板套用教程网页设计与网站建设教材
  • 个人建个网站多少钱给网站开发自己的一封信
  • 建站公司用的开源系统网站搭建服务器配置
  • 青白江做网站的公司网络营销的特点及方式有哪些