zoukankan      html  css  js  c++  java
  • Qt: 多线程, 就是这么简单(确实非常简洁明了)

    #include <iostream>
    #include <QApplication>
    #include <QThread>
    #include <QString>

    class Thread : public QThread {
    public:
    Thread(QString name = "") {
    stopped = false;
    this->name = name;
    }

    void run() {
    while (!stopped) {
    std::cout << "In " << name.toStdString() << "'s run()." << std::endl;
    QThread::msleep(400);
    }
    }

    void stop() {
    stopped = true;
    }

    private:
    volatile bool stopped;
    QString name;
    };

    int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    Thread thread;
    thread.start();
    Thread thread1("Thread1");
    thread1.start();
    Thread thread2("Thread2");
    thread2.start();

    return app.exec();
    }

    在Widget中, 还可以使用如在继承自QObject 的 void showEvent(QShowEVent *event)中使用myTimerId = startTimer();
    在void hideEvent(QHideEVent *event)中使用killTimer(myTimerId);
    在void timerEvent(QTimerEvent *event)中更新数据
    在void paintEvent(QPaintEvent *event)中动态显示数据.

    http://www.cppblog.com/biao/archive/2008/03/21/45053.html

  • 相关阅读:
    dpdk优化相关 转
    常用的TCP Option
    c10k C10M
    Linux惊群效应详解
    bloomfilter 以及count min sketch
    Squid 搭建正向代理服务器
    Openflow的架构+源码剖析 转载
    Hyperscan与Snort的集成方案
    动态图
    psutil 模块
  • 原文地址:https://www.cnblogs.com/findumars/p/5979168.html
Copyright © 2011-2022 走看看