标签:进程间通讯 内容 应用 mat style sem 物理 使用 内存
进程线程
1.进程:
进程间通讯(IPC):
1. 种类:无名管道,有名管道,信 号
消息队列,共享内存,信号量
socket
2.目的:实现数据共享
3.
无名管道:内核在物理空间开辟的一段共享缓存,无文件名只用于亲缘之间;
有名管道:内核在物理空间开辟的一段共享缓存,已文件形式操作缓存;
信号:
消息队列:内核在物理空间创建用于存放消息的双向循环链表;
函数:msgget :创建获取标识符
msgsend :通过标识符发送编号内容
msgrcv :通过标识符接收编号内容
msgctl :通过标识符删除消息队列
共享内存:内核在物理空间开辟一大段缓存空间,直接使用地址共享读写,实现通信;
函数:shmget :创建获取共享内存
shmat : 映射建立
shmdt : 映射取消
shmctl :删除共享内存
信号量:多进程线程共享操作,通过加锁机制资源保护,实现同步与互斥,防止干扰;
函数:semget :创建获取信号量集合
semctl :设置初始值
semop : P V 操作
semctl : 删除信号量集合
2.线程:轻量级进程,CPU调度的最小单位
函数:pthread_creat 注册线程函数,实现并发运行
pthread_dtach/self 线程分离,自动回收
pthread_cannel/exit 粗暴主动,终止线程
pthread_join 回收资源(阻塞等待次线程回收)
pthread_cleanup_push/pop 线程退出函数(压栈弹栈必须成对)
<笔记>
1. 程序运行在磁盘,不占系统资源
进程运行在内存,占用系统资源
2. fork之前的代码,父子进程都拥有
3.
标签:进程间通讯 内容 应用 mat style sem 物理 使用 内存
原文地址:https://www.cnblogs.com/panda-w/p/10992334.html