运行结果
从上面可以看到:
【1】
如果主线程和子线程是并行的,虽然都是用while(1)但是倚靠
CPU的调度,主线程和子线程都有机会得到执行。
【2】
如果要在子线程里面改变主线程里面的数据,就在
pthread_create
里面的最后 一个参数使用传地址调用(void *)&c,否则使用传值调用(void *)c
【3】使用pthread_join的目的在于:怕主线程执行的过快,子线程还没有执行
主线程就执行完毕并且退出了。
使用detach属性的目的在于,使得主线程和子线程之间割断联系,主线程退出
子线程也不会挂掉,子线程 退出,主线程也不用回收子线程的资源。
因为在本例子中,主线程和子线程都是无限循环执行的,即寿命无限长,主线程
和子线程也不用关心谁先得到执行,也不用关心资源的回收,所以调用pthread_create
的使用也就没有回收pthread_t tt这个用于管理子设备号的ID,也没用调用pthread_join来
等待子线程退出。
|
主线程和子线程总结
最新推荐文章于 2024-02-24 12:57:36 发布