Linux 线程Pthread(一)创建、终止、获取TID

Linux线程 Pthread简介
摘要由CSDN通过智能技术生成

多线程一直接触,这次系统学习一蛤。

多线程目的是在单进程环境下执行多个任务。一个进程中的所有线程都可以访问该进程的组成部件,如文件描述符和内存。

单个资源在多个用户间共享,就必须处理一致性问题。

同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。

但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。

通过__thread关键字是GCC内置的线程局部存储设施,存储效率堪比全局变量,它保证该变量在每个线程中都有独立的实体,互不干扰

1.线程标识

每个线程有一个线程ID,并且这个ID只有在它所属的进程上下文中才有意义。

#include <pthread.h>
pthread_t pthread_self(void);//获取当前线程的线程ID

#include <pthread.h>
int pthread_equal(pthread_t tid1,pthread_t tid2);
//相等返回非0
//否则返回0

pid_t用来标志进程,是一个非负整数,而pthread_t则有可能是一个结构体(取决于实现)。
因此,在调用pthread_equal的时候,参数必须严格是pthread_t类型的变量,否则将会出现未定义的行为:

The pthread_equal() function shall return a non-zero value if t1 and t2 are equal; otherw

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值