QThread类信号槽,静态函数,任务处理函数

一.Qt 线程信号槽
1.//和调用exit()效果一样的,代用这个函数之后再调用wait()函数
[slot]void QThread::quit();
2.启动子线程
QThread::start(Priority priority = InheritPriority);
//线程退出,可能是会马上终止线程,一般情况下不使用这个函数
void QThread::terminate();
//线程中执行的任务完成了,发出该信号
//任务函数中的处理逻辑执行完毕了
[signal]void QThread::finished();
//开始工作之前发出这个信号,一般不使用
[signal]void QThread::started();

二.静态函数
//返回一个指向管理当前执行线程的QThread的指针
[static]QThread *QThread::currentThread();
//返回可以在系统上运行的理想线程数 == 和当前电脑的CPU核心数相同
[static] int QThread::idealThreadCount();
//线程休眠函数
[static]void QThread::msleep(unsigned long msecs);//单位毫秒
[static]void QThread::sleep(unsigned long secs);//单位秒
[static]void QThread::usleep(unsigned long msecs);//单位微妙

三.任务处理函数
//子线程需要处理什么任务,需要写到run()函数中
[virtual protected] void QThread::run();
这个run()是一个虚函数,如果想让创建的子线程执行某个任务,需要写一个子类让其继承QThread,并且在子类中重写父类的run()方法,函数体就是对应的任务处理流程。另外,这个函数就是一个受保护的成员函数,不能够再类的外部调用,如果想要让线程执行这个函数中的业务流程,需要通过当前线程对象调用槽函数start()启动子线程,当子线程被启动,这个run()函数也就在线程内部被调用了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值