函数名称 | 函数功能 | 说明 |
pthread_create | 创建线程 | 线程变量:pthread_t |
pthread_equal | 判断两个线程ID是否相等 |
|
pthread_self | 获得自身的线程ID |
|
pthread_exit | 终止一个线程 |
|
pthread_join | 等待一个线程 | 除非指定线程调用pthread_exit、从启动例程返回或者被取消,否则调用线程将一直阻塞 类似于waitpid的功能 |
pthread_detach | 分离一个线程 |
|
pthread_cancel | 请求取消一个线程 | 并不等待线程终止,仅提出请求 |
pthread_cleanup_push | 注册一个线程退出函数 | 必须与pthread_cleanup_pop成对出现 |
pthread_cleanup_pop | 调用注册的线程退出函数 | 必须与pthread_cleanup_push成对出现 |
pthread_mutex_init | 初始化互斥量 | 互斥量 变量类型:pthread_mutex_t |
pthread_mutex_destory | 销毁互斥量,需要在释放内存前调用 | |
pthread_mutex_lock | 对互斥量进行加锁,如果已经加锁则阻塞 | |
pthread_mutex_trylock | 尝试对互斥量进行加锁,如果已经加锁,则返回EBUSY | |
pthread_mutex_unlock | 对互斥量进行解锁 | |
pthread_mutex_timedlock | 带超时的对互斥量的加锁,时间是绝对时间而非相对时间 | |
pthread_rwlock_init | 初始化读写锁 | 读写锁 变量类型:pthread_rwlock_t |
pthread_rwlock_destroy | 销毁读写锁,需要在释放读写锁占用的内存之前调用 | |
pthread_rwlock_rdlock | 以读模式进行加锁 | |
pthread_rwlock_wrlock | 以写模式进行加锁 | |
pthread_rwlock_unlock | 解锁读写锁 | |
pthread_rwlock_timedrdlock | 带超时的以读模式加锁 | |
pthread_rwlock_timedwrlock | 带超时的以写模式加锁 | |
pthread_cond_init | 初始化条件变量 | 条件变量 适用于异步等待某个处理结果 变量类型:pthread_cond_t |
pthread_cond_destory | 对条件变量进行反初始化,需要在释放条件变量底层的内存空间之前调用 | |
pthread_cond_wait | 等待条件变量为真 | |
pthread_cond_timedwait | 带超时的等待条件变量为真,时间为绝对时间 | |
pthread_cond_signal | 通知线程条件已经满足,至少能唤醒一个线程 | |
pthread_cond_broadcast | 通知线程条件已经满足,唤醒所有等待该条件的线程 | |
pthread_spin_init | 对自旋锁进行初始化 | 自旋锁 与互斥量类似,但不是通过休眠使进程阻塞,而是在获取之前一直在忙等(自旋)。在等待自旋锁可用之前,CPU不能做其他的事情 变量类型:pthread_spinlock_t |
pthread_spin_destory | 对自旋锁进行反初始化 | |
pthread_spin_lock | 获取自旋锁,获取成功之前一直在自旋 | |
pthread_spin_trylock | 获取自旋锁,如果不能成功,立即返回EBUSY | |
pthread_spin_unlock | 解锁自旋锁 | |
pthread_barrier_init | 初始化屏障 | 屏障 当阻塞线程达到设定值,则所有阻塞线程均被唤醒 变量类型:pthread_barrier_t |
pthread_barrier_destroy | 对屏障进行反初始化 | |
pthread_barrier_wait | 线程等待,表明线程已经完成工作,准备等待其他线程赶上来 |
线程的学习(一)
最新推荐文章于 2022-10-20 16:22:40 发布
线程的初步重点在线程的创建、分离、退出、同步。
线程分离:分离的线程在线程完成后,系统会自动回收他的储存器资源;不分离的线程,如果不pthread_join或者不结束整个进程,系统不会回收资源。
线程同步:共有互斥量、读写锁、条件变量、自旋锁、屏障共五种方式。
各种同步,只是提供了一种机制,并不是用了以后就会一定实现同步,仍然需要人为的控制使用逻辑才能实现同步。
线程退出:1、线程可以简单的从启动例程中返回,指return,启动例程,即线程的执行函数
2、线程可以被同一进程的其他线程取消
3、线程调用pthread_exit