• Qt::线程::QtConcurrent


    QtConcurrent 是命名空间 (namespace),它提供了高层次的函数接口 (APIs),使所写程序,可根据计算机的 CPU 核数,自动调整运行的线程数目。
    使用 QtConcurrent 模块,需要在 .pro 中添加: QT += concurrent 
    #include "qtconcurrentrun.h"
    using namespace QtConcurrent;
    void func(QString name)
    {
        qDebug() << name << "from" << QThread::currentThread();
    }
    
    QFuture<void> f1 = run(func, QString("QFuture<void> f1"));
    f1.waitForFinished();
    指定线程池,可以将线程池的指针作为第一个参数传递进去
    extern void func();
    QThreadPool pool;
    QFuture<void> future = QtConcurrent::run(&pool, func); 
    向该函数传递参数,需要传递的参数,则跟在函数名之后,依次加入 
    extern void FuncWithArguments(int arg1, const QString &string);
    QFuture<void> future = QtConcurrent::run(FuncWithArguments,integer,string); 
    获取该函数的计算结果 
    extern QString Func(const QByteArray &input);
    QFuture<QString> future = QtConcurrent::run(func, byte_array);
    QString result = future.result(); 
  • 相关阅读:
    nfs共享目录及sersync实时同步
    rsync备份
    MySQL基础操作
    源码包安装MySQL
    二进制安装MySQL
    Centos6防火墙-iptables版
    linux系统mongdb基础(1)
    linux系统ElK基础filebeat收集日志(4)
    linux系统ElK基础(3)
    linux系统ElK基础(2)
  • 原文地址:https://www.cnblogs.com/osbreak/p/15634127.html
Copyright © 2020-2023  润新知