设为首页 加入收藏

TOP

6.6.3 获得线程id
2013-10-07 12:59:00 来源: 作者: 【 】 浏览:74
Tags:6.6.3 获得 线程

6.6.3  获得线程id

如本章前面所提到的,进程和它的地址空间内的线程共享资源。线程自身拥有的资源很少,但是线程id是线程的独特资源中的一种。函数pthread_self( )返回调用线程的线程id。

调用形式

  1. #include <pthread.h> 
  2.                 
  3. pthread_t pthread_self(void); 

当一个线程被创建之后,会将线程id返回到调用线程。一旦线程有了自己的id之后,可以将id传递给进程中的其他线程。这个函数返回线程id,且未定义错误。

下面是调用这个函数的实例:

  1. pthread_t ThreadId;  
  2. ThreadId = pthread_self(); 

线程调用这个函数,函数将线程id返回并赋给pthread_t类型的变量ThreadId。

线程id还会被返回到pthread_create( )的调用线程。如果成功创建了线程,则线程id保存在pthread_t中。

比较线程id

您可以将线程id按照非透明类型进行处理。线程id可以进行比较,但是使用的不是一般的比较操作符。您可以通过调用pthread_equal( )来比较两个线程的id是否相等。

调用形式

  1. #include <pthread.h> 
  2.  
  3. int pthread_equal(pthread_t tid1, pthread_t tid2); 

如果两个线程id指向相同的线程,则pthread_equal( )返回一个非零值。如果它们指向不同的线程,则返回零。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇6.7.2 管理线程的栈 下一篇6.6.1 向线程传递参数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: