P:POSIX:POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称

1)线程的创建与回收

    pthread_create:主线程创建一个新的线程,线程的核心是线程函数。函数体就是线程函数

                                OS调度线程的时候其实就是调用这个函数,

线程退出的时候要回收线程

pthread_join:回收线程函数,线程结束的时候调用这个,主线程等待回收子线程的,也是会被阻塞住的。

pthread_detach:分离子线程,分离之后,子线程自己回收自己,主线程不管(不用阻塞等待)子线程,不用回收他了。


线程取消:创建好多线程之后,一个线程有可能被另外一个线程终止,取消的时候就是th,thread_t类型的。

一般是在主线程中取消子线程,强制杀死,

pthread_cancel:线程取消:一般是在主线程中取消子线程,强制杀死。

pthread_cancelstate:子线程设置自己是否允许被取消

pthread_canceltype:上面那个设置成enable这个才有意义,子线程收到cancel立即终止或者等到能死


线程函数退出相关的

pthread_exit:线程结束自己最正规的方式,返回值会返回给join(等待回收)

return:也可以退出,就是普通函数,exit不可以,子线程属于线程一部分,用exit是整个线程都返回了。

清理函数:线程同步时,需要用到锁(信号量),线程之间也要有锁机制,但是

pthread_cleanup_push:压栈,进栈

pthread_cleanup_pop:  弹栈,出栈

保证一定会执行--

90_线程之常见的线程函数 


获取线程ID  标识这个线程的

pthread_self:获取当前线程的ID


常用的就是create   join/detach

return/pthread_exit

push

pop









相关文章:

  • 2021-10-13
  • 2022-12-23
  • 2021-11-17
  • 2021-06-30
  • 2022-01-05
猜你喜欢
  • 2021-12-02
  • 2021-08-02
  • 2021-11-27
  • 2022-02-07
  • 2021-06-28
  • 2021-08-05
  • 2021-11-17
相关资源
相似解决方案