1.线程创建函数调用
pthread_create(句柄、参数、函数入口,函数入口的实参)
int pthread_create(....)
cpp thread类:
thread类的创建方法比较简便。但也有很多问题需要考虑
- 函数指针创建线程
thread (函数入口,函数参数) 入口函数的参数设置要注意安全 - 类对象创建线程
thread 创建线程的一些细节说明:[]:https://blog.csdn.net/qq_42147969/article/details/118325905
2.在创建部分,pthread、thread的区别是:
虽说thread是基于pthread封装的,但是thread 是作为一个类/对象来说。
thread 可以支持很多c++特殊类型的进程创建。 功能很强大
2.创建线程后 线程会自动开启吗?
会的,在pthread_create之后 线程自动运行。
3.创建线程后,子线程与主线程的联系是什么?
c++中,创建了thread 子线程后,主线程与子线程已经联系在了一起。如果在主线程中不调用join(),使子线程归入主线程中(主线程阻塞等待子线程完成并回收),那么当主线程结束时便会报错(程序崩溃)。
除了join之外,我们还能通过datach 断开二者的联系。这样子线程就变为守护线程,不过守护线程会带来不少新问题。
4.pthread 的线程函数有什么要注意的?
- pthread 的返回值和参数都是void . 因此有些东西需要注意。
返回值 应该为return NULL;
传入参数:void 传进来之后 要使用还得专门做一个强制类型转换保证指针的使用。
在外部实参传入时,不能传值 只能传指针,因此有些需要先取值,然后做(void *) 的强制类型转换。
5.多线程同用一个入口函数时,线程共享变量怎么处理?
标签:函数,thread,创建,主线,C++,线程,pthread,多线程 From: https://www.cnblogs.com/black-worrior-2000/p/16634812.html