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

设计网站printerest哪个网站做logo赚钱

设计网站printerest,哪个网站做logo赚钱,wordpress 图片自适应,广州建网站的网络公司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/14295353/

相关文章:

  • 旅游攻略网站模板手机商城怎么做
  • 高端网站定制平台搜索引擎排名机制
  • python网站开发集成环境许昌哪个网站做苗木
  • 安徽网站建设seo优化做一个网站建设
  • 怎么怎么做网站自助网站制作系统源码
  • 网站建设与管理的流程方案医疗网站备案前置审批
  • 公司网站建设公司专门做焦点图的网站
  • 卖线面网站怎么开发网站程序
  • 电脑做服务器上传网站贵阳建设工程招聘信息网站
  • 手机个人网站制作教程做网站策划书
  • 网站流量提升方法做淘宝一件代发的网站
  • 网站模板免费推荐大兴网站建设报价
  • 如何申请自己的网站常用wap网站开发工具 手机网站制作软件
  • 做视频解析网站犯法网站开发平台 运行平台
  • 上海网站开发运营上海市官网
  • 网站建设itcask网站界面设计工具
  • 精美驾校企业网站模板金马国旅网站建设分析
  • 金华建设局网站河北建设安装工程有限公司怎么样
  • 网站开发与软件开发区别加工平台v型架
  • 商家免费网站模板重庆网站建设推广
  • wordpress下载站模板营销软文范文200字
  • 普洱建设网站做传销网站违法的吗
  • 太原网站建设方案托管网站开发超链接点击后变色
  • 做个网站需要什么设备网站站群建设
  • 漯河网站推广多少钱网站网站建设策划书
  • 网站建设经验交流材料成都旅行社网站建设
  • 雄安建设集团有限公司网站蓝色主题的网站模板
  • 山河建设集团有限公司的网站个人网页英文
  • 做百度网站一年多少钱找公司制作app多少钱
  • 网站做cpa赚钱吗杭州哪家网站建设公司好点