
多线程
文章平均质量分 68
陈海平20220310
写不了一点
展开
-
多线程之互斥锁与条件变量
互斥锁操作函数 初始化锁 函数原型: int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrist attr); 函数参数: ① mutex:互斥锁 ② attr:互斥锁的属性(NULL为默认属性)。默认属性为快速互斥锁 快速互斥锁:如果临界区已经被一个线程获取,其他线程或者该线程再次获取时,调用线程直接被挂起。 递归互斥锁:已经获取临界区的线程可以多次获取,互斥量对象内部应有获取次数原创 2022-03-12 09:49:19 · 282 阅读 · 0 评论 -
多线程之信号量
信号量操作函数 初始化信号量 函数原型: int sem_init(sem_t *sem, int pshared, unsigned int value); 函数参数: ① sem:信号量。 ② pshared:信号量的使用范围。 0表示同一进程内的线程。 非0表示进程之间(不同进程)。 ③ value:用于指定信号量的初始值。 函数返回值 成功返回:0 失败返回:-1 原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切 换到原创 2022-03-11 19:28:28 · 340 阅读 · 0 评论 -
多线性之建立线程
Linux线程基础函数 创建线程 头文件#include <pthread.h> 编译选项:-lpthread 函数原型: int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *argv); 函数参数: ① thread:用于保存创建的线程ID。 ② attr:线程属性(默认属性NULL)。 ③ start_routine:函数指针,线程执原创 2022-03-11 16:14:55 · 107 阅读 · 0 评论