POSIX线程之属性篇

来源:互联网 发布:淘宝店铺红包链接地址 编辑:程序博客网 时间:2024/05/14 07:10

现在来谈谈线程的属性

 

在前面的例程中,我们都在程序退出之前用pthread_join吧所有线程再次同步,如果我们想让线程向创建它的线程

 

返回数据就需要这样做。但有时也会出现这样的情况,我们既不需要第二个线程向主线程返回信息,也不想让主线程

 

等待他的结束。

 

假设我们在主线程继续为用户提供服务的同事创建了第二个线程,新线程的作用是将用户正在编辑的数据文件进行备份

 

存储处理。备份工作结束后,第二个线程就可以直接终止,无需再回到主线程中。

 

我们可以创建一样的一类线程---脱离线程。可以通过修改线程的属性或调用pthread_detached的方法来创建它们。

 

这里我们用前面的一种方法。

 

修改属性需要的函数:

 

下面来看看一个具体的例程,该例程是创建一个线程属性,将其设置为脱离状态,然后用这个属性

 

创建一个线程。主线程通过一个简单的 thread_finished标志来检测子线程是否已经结束,同时显示

 

线程之间仍然共享着变量。

 

运行结果:

[sea@localhost ~]$ ./threadtest1
waiting for thread to say it's finished...
thread_fun is running.argument was hello
waiting for thread to say it's finished...
waiting for thread to say it's finished...
waiting for thread to say it's finished...
second finished
other thread finished,bye!

原创粉丝点击