使用C++多线程
使用平台为Windows,使用多线程时需要包含thread头文件。
第一个多线程程序:循环打印一个话。
1 |
|
欲要使用多线程,先声明了一个thread对象,并用FirstThread来进行初始化,当线程执行时就会执行FirstThread函数。
将线程启动有两种方式,第一种是使用join函数,join会阻塞当前线程的执行,当子线程执行完毕后才会继续执行;第二种是detach函数,他将函数的执行与主线程分离。
本例的一些问题:
- 使用detach时,当主线程退出后子线程不一定会退出,可能还在执行。
- main结束后清理空间,此时子线程可能会访问非法内存,本例中使用getchar阻塞线程来避免这种情况。