0
点赞
收藏
分享

微信扫一扫

线程的初识

静鸡鸡的JC 2022-04-27 阅读 43
linux

线程初识

线程的概念

注: 1,posix线程是一套标准吗,而不是实现
2.线程标识: phread_t,可能是整形也可能是结构体指针等

*简单介绍关于线程标识的函数*
 *pthread_equarl() ;判断两个线程标识是否相等*
*pthread_self();返回自身的线程标识* 

线程的创建

  • pthread_creat();

线程的调度取决于调度器策略

# include<stdlib.h>
# include<pthread.h>

static void* func(void* p)
{
 puts("thread is working");
 return NULL;
}

int main()
{
  pthread_t tid;
  int err;
  puts("begin!");
  err = pthread_create(&tid,NULL,func,NULL);
  if(err)
  {
   exit(-1);
  }

  puts("end!");
  exit(0);
}

线程的终止

线程退出函数

线程标识的比较

线程的取消:

当不关心线程的返回信息时可以直接使用线程分离函数进行回收
反之,需要获取线程的返回值时,可以使用线程等待

线程等待

注意:

线程分离

默认情况下,新创建的线程是joinable的,线程退出后,需要对其进行pthread_join操作,否则无法释放资源,从而造成系统泄漏
如果不关心线程的返回值,join是一种负担,这个时候,我们可以告诉系统,当线程退出时,自动释放线程资源
注:

举报

相关推荐

0 条评论