1、引入pthread_equal的原因:

       在线程中,线程ID的类型是pthread_t类型,由于在Linux下线程采用POSIX标准,所以,在不同的系统下,pthread_t的类型是不同的,比如在ubuntn下,是unsigned long类型,而在solaris系统中,是unsigned int类型。而在FreeBSD上才用的是结构题指针。 所以不能直接使用==判读,而应该使用pthread_equal来判断。

 

2、引入pthread_self的原因:

        在使用pthread_create(pthread_t *thread_id,NULL,void* (*fun) (void *),void * args);虽然第一个参数中已经保存了线程ID,但是,前提是主线程首先执行时,才能实现的,而如果不是,那么thread指向一个未出划的变量。那么才子线程想使用时,应该使用pthread_self();

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-13
  • 2021-06-20
  • 2021-05-16
  • 2021-08-05
  • 2021-12-04
  • 2022-12-23
猜你喜欢
  • 2021-05-18
  • 2021-06-26
  • 2021-09-30
  • 2022-12-23
  • 2021-11-14
  • 2022-12-23
  • 2021-06-10
相关资源
相似解决方案