linux下线程通信相关函数
2016-12-02 19:43
281 查看
进程是最小的资源分配和管理的单位
线程是最小的调度单位
进程:每个进程拥有独立的地址空间,顺序执行某些任务,阻塞会影响下面执行的代码,上下文切换比较消耗资源。
线程:共享进程的地址空间,是把进程细分为更小的执行单元,拥有时间片的函数,切换过程节省资源。
线程:拥有独立堆栈,ID,errno,寄存器pc。
Pthread库:sudo apt-get install manpages-posix-dev
创建线程:pthread_create(线程ID,创建属性(默认NULL),线程函数,给线程传参);成功返回0.
阻塞等待线程退出:pthread_join(线程ID,退出状态); 成功返回0;
退出线程:pthread_exit(退出状态);只能使当前线程退出。
Pthread_cancel(线程ID);指定退出某个线程。
同步:按照约定的顺序依次执行某些任务。
互斥:同一时刻只能有一个线程或者进程占用资源。
同步:信号量(无名信号量),条件变量。
信号量:sem_init(信号量ID,0(无名信号量),资源的数量): 初始化信号量
sem_wait(); 申请资源,资源数目-1.
操作资源
sem_post(); 释放资源,资源数量+1.
互斥:二值信号量,完成了锁的功能
互斥锁
Pthread_mutex_init(锁ID,锁属性(默认NULL)); 初始化锁。
Pthread_mutex_lock(); 申请资源,申请锁
操作资源
Pthread_mutex_unlock();释放资源。
条件变量:另一种同步方式,配合锁来使用。
条件变量进入wait的原子操作方式:1.解锁,2.等待,3.加锁
pthread_cond_init(),初始化条件变量
pthread_cond_wait():等待资源
pthread_cond_signal():释放资源
pthread_cond_broadcast():广播
线程是最小的调度单位
进程:每个进程拥有独立的地址空间,顺序执行某些任务,阻塞会影响下面执行的代码,上下文切换比较消耗资源。
线程:共享进程的地址空间,是把进程细分为更小的执行单元,拥有时间片的函数,切换过程节省资源。
线程:拥有独立堆栈,ID,errno,寄存器pc。
Pthread库:sudo apt-get install manpages-posix-dev
创建线程:pthread_create(线程ID,创建属性(默认NULL),线程函数,给线程传参);成功返回0.
阻塞等待线程退出:pthread_join(线程ID,退出状态); 成功返回0;
退出线程:pthread_exit(退出状态);只能使当前线程退出。
Pthread_cancel(线程ID);指定退出某个线程。
同步:按照约定的顺序依次执行某些任务。
互斥:同一时刻只能有一个线程或者进程占用资源。
同步:信号量(无名信号量),条件变量。
信号量:sem_init(信号量ID,0(无名信号量),资源的数量): 初始化信号量
sem_wait(); 申请资源,资源数目-1.
操作资源
sem_post(); 释放资源,资源数量+1.
互斥:二值信号量,完成了锁的功能
互斥锁
Pthread_mutex_init(锁ID,锁属性(默认NULL)); 初始化锁。
Pthread_mutex_lock(); 申请资源,申请锁
操作资源
Pthread_mutex_unlock();释放资源。
条件变量:另一种同步方式,配合锁来使用。
条件变量进入wait的原子操作方式:1.解锁,2.等待,3.加锁
pthread_cond_init(),初始化条件变量
pthread_cond_wait():等待资源
pthread_cond_signal():释放资源
pthread_cond_broadcast():广播
相关文章推荐
- 讲Linux下面线程的操作、多线程的同步和互斥相关函数及操作的文章链接
- Linux线程相关基础函数解析
- 讲Linux下面线程的操作、多线程的同步和互斥相关函数及操作的文章链接
- linux中线程相关函数
- linux相关线程函数
- linux线程相关函数
- Linux C——网络通信的相关函数
- Linux C——网络通信的相关函数
- ARM linux线程相关API
- linux中select()函数相关:
- pthread_join函数及linux线程转
- pthread_join函数及linux线程
- larbin中线程相关 pthread_cond_wait() 函数
- (18)Linux_C_管道相关函数
- java线程有关阻塞的相关函数
- linux中使用pthread_kill函数测试线程是否存活的例子
- Unix/Linux IPC及线程间通信总结
- 线程相关函数
- LINUX 线程函数大全
- LINUX驱动IOCTL函数相关知识