线程控制

今天我们来看看有关进程控制方面的知识:

第一,我们来看看几个有关线程的函数:

A.创建进程

返回值:成功就返回0,失败就返回错误码。

thread: 参数是一个指针,当线程成功创建时,返回创建线程ID。

attr: 用于指定线程的属性

start_routine: 该参数是一个函数指针,指向线程创建后要调用的函数。

arg: 传递给线程函数的参数。

B.终止线程

retval是void*类型,和线程函数返回值的用法一样,其他线程可以调用pthread_join获得这个指针。

C.线程等待

返回值:成功返回0,失败返回错误码。

D.获取tid

调用此函数可以获得自己的线程tid。

E.取消线程

这个函数可以由其他的线程调用,用来取消某个线程。

我们来通过一个实例看看这些函数具体的用法,在下面这个例子中我们创建三个线程,通过三种不同的退出方法让线程结束。源代码如下:

创建了三个线程,三个线程分别以不同的方式退出。

运行结果如下所示uj:


由上面的例子我们可以看到,如果需要只终止某个线程而不终止整个进程,可以有三种方法:

1. 从线程函数return。这种方法对主线程不适用,从main函数return相当于调用exit。

2. 一个线程可以调用pthread_cancel终止同一个进程中的另一个线程。

3. 线程可以调用pthread_exit终止自己。
















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值