QT:多进程

1.多进程

  • (1)创建进程对象
    QProcess::QProcess(QObject *parent = nullptr)
  • (2)启动进程去执行另外一个程序
    void QProcess::start(const QString &command) //类似于system()/exec函数族
    参数:command --》你要执行的另外一个程序的路径名
  • (3)杀死进程
    void QProcess::kill()
  • (4)等待回收进程
    bool QProcess::waitForFinished(int msecs = 30000)
    参数:超时时间
  • (5)获取当前进程的运行状态
    QProcess::ProcessState QProcess::state() const
    返回值:
    QProcess::NotRunning --进程还没有运行
    QProcess::Starting --进程处于就绪态
    QProcess::Running --进程处于执行态

在这里插入图片描述

在这里插入图片描述

2.多线程

原理:当你调用start方法开启一个线程的时候,run方法会被自动调用

  • 第一步:
    创建一个子类继承QThread,然后重写QThread中的run()方法
    virtual void QThread::run()
    //虚函数,线程的任务函数,创建线程需要完成的任务就靠它来实现
    如何在QT工程中新增一个C++类
    右键点击工程名–》add new–》选择C+±-》C++类
  • 第二步:创建子类对象,启动线程
    void QThread::start();

3.常用方法

(1)延时
[static] void QThread::sleep(unsigned long secs)
//单位秒

[static] void QThread::msleep(unsigned long msecs)
//毫秒

[static] void QThread::usleep(unsigned long usecs)
//微秒

(2)终止线程
void QThread::terminate()

(3)回收线程
bool QThread::wait(unsigned long time = ULONG_MAX)
//参数是超时时间

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值