int pthread_create (pthread_t *__restrict __newthread,
const pthread_attr_t *__restrict __attr,
void *(*__start_routine) (void *)
创建线程
void pthread_exit (void *__retval)
退出线程
int pthread_join (pthread_t __th, void **__thread_return)
等待线程结束
int pthread_tryjoin_np (pthread_t __th, void **__thread_return)
尝试等待线程结束
int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
const struct timespec *__abstime);
在指定的时间内等待线程的结束
int pthread_detach (pthread_t __th)
分离线程
pthread_t pthread_self (void)
获得当前线程的identity
int pthread_equal (pthread_t __thread1, pthread_t __thread2)
判断两个线程 identity 是否相同
int pthread_attr_init (pthread_attr_t *__attr)
初始化一个线程属性
int pthread_attr_destroy (pthread_attr_t *__attr)
销毁一个线程属性
int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
int *__detachstate)
获得线程identity 的 detach 状态
int pthread_attr_setdetachstate (pthread_attr_t *__attr,
int __detachstate)
设置线程identity 的 detach 状态
int pthread_attr_getguardsize (const pthread_attr_t *__attr,
size_t *__guardsize)
获得线程属性 的 溢出守护区域 大小
int pthread_attr_setguardsize (pthread_attr_t *__attr,
size_t __guardsize)
设置线程属性 的 溢出守护区域大小
int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
struct sched_param *__restrict __param)
获得线程属性 调度参数
int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
const struct sched_param *__restrict
__param)
设置线程属性 调度参数
int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
__attr, int *__restrict __policy)
获得线程属性 调度策略
int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
设置线程属性 调度策略
可以获得和设置的属性
inheritsched 继承的
scope 范围
stackaddr 栈地址
stacksize 栈大小
int pthread_getattr_default_np (pthread_attr_t *__attr)
获得 默认的线程属性
int pthread_setattr_default_np (const pthread_attr_t *__attr)
设置 默认的线程属性
int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
使用当前已经在运行的一个线程去初始化一个 线程属性。即获得该线程使用的线程属性。
int pthread_setschedparam (pthread_t __target_thread, int __policy,
const struct sched_param *__param)
设置调度策略参数
int pthread_getschedparam (pthread_t __target_thread,
int *__restrict __policy,
struct sched_param *__restrict __param)
获得调度策略属性
int pthread_setschedprio (pthread_t __target_thread, int __prio)
为指定的线程设置 优先级
int pthread_getname_np (pthread_t __target_thread, char *__buf,
size_t __buflen)
获得线程内部的 别名
int pthread_setname_np (pthread_t __target_thread, const char *__name)
设置线程内部的 别名
int pthread_getconcurrency (void)
获得并发性等级
int pthread_setconcurrency (int __level)
设置并发性等级
int pthread_yield (void)
产生一个线程给另外一个 线程或者进程去使用
int pthread_once (pthread_once_t *__once_control,
void (*__init_routine) (void))
保证使用同一个once_control 标记的 init_routine 函数,在多线程调用该函数的时候只会执行一次
int pthread_setcancelstate (int __state, int *__oldstate);
为当前线程设置可撤销的状态
int pthread_setcanceltype (int __type, int *__oldtype);
为当前线程设置可撤销的类型
int pthread_cancel (pthread_t __th);
立刻撤销指定的线程或者等到下次 可撤销的状态
void pthread_testcancel (void);
尝试撤销当前的线程