应用_进程线程
Posted panda-w
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应用_进程线程相关的知识,希望对你有一定的参考价值。
进程线程
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.
以上是关于应用_进程线程的主要内容,如果未能解决你的问题,请参考以下文章