多线程是指同一个进程中有多个线程在执行,同一进程内的多个线程可以很方便的进行数据共享以及通信。每一个线程都需要实现生成、启动、停止、优先级设置等各种缏堋垌胯线程相关的操作。多线程在工作中是比较常见的,本文将简单介绍如何创建管理线程,以下经验仅供参考。
工具/原料
C++
创建线程
1、下图是最常用、最基本的线旯皱镢涛程创建方法。std::thread对象的构造函数参数可以是函数,函数对象或者类的成员函数,也可以是Lambda表达式。
等待线程
1、使用join()等待线程完成。注意一个线程只能调用一次join()。
分离线程
1、使用detach()将子线程和父线程分离。
2、上图中的joinable()函数是用来判断是否可以加入或分离。
等待线程运行
1、waitStarted()等待线程运行(实现)函数开始运行。
线程停止
1、使用stop()请求停止线程
2、使用kill()请求中止线程。
优先级
1、setPriority()用于设置运行线程的优先级。
2、下图定义了线程的优先级,要合理设置线程的优先级。