博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进程和线程
阅读量:2072 次
发布时间:2019-04-29

本文共 608 字,大约阅读时间需要 2 分钟。

1.进程和线程

进程:表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位。

线程:是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。如果把进程理解为在逻辑上操作系统所完成的任务,那么线程表示完成该任务的许多可能的子任务之一。

2.进程和线程的区别

1 进程是执行着的程序,线程是进程内的一个执行序列。一个进程可以拥有多个线程。 2 进程是资源分配的最小单元,线程是执行调度的最小单元。进程拥有独立的资源,多个线程间共享这些资源。

3 进程间通信代价较大,线程间通信代价小。

3.进程之间的通信

1.管道

无名管道:半双工,单向,父子。简单方便
有名管道:半双工,无需父子。易错,缓冲有限
2.信号量
信号量是一个计数器,可以用来控制多个线程对共享资源的访问.,它不是用于交换大批数据,而用于多线程之间的同步.它常作为一种锁机制
3.信号
信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生
4.消息队列
消息队列是消息的链表,存放在内核中并由消息队列标识符标识
5.共享内存
6,.套接字

4.线程之间的通信

1.锁机制

2.信号量机制
3.信号机制

转载地址:http://fwjmf.baihongyu.com/

你可能感兴趣的文章
Bagging 简述
查看>>
详解 Stacking 的 python 实现
查看>>
简述极大似然估计
查看>>
用线性判别分析 LDA 降维
查看>>
用 Doc2Vec 得到文档/段落/句子的向量表达
查看>>
使聊天机器人具有个性
查看>>
使聊天机器人的对话更有营养
查看>>
一个 tflearn 情感分析小例子
查看>>
attention 机制入门
查看>>
手把手用 IntelliJ IDEA 和 SBT 创建 scala 项目
查看>>
GAN 的 keras 实现
查看>>
AI 在 marketing 上的应用
查看>>
Logistic regression 为什么用 sigmoid ?
查看>>
Logistic Regression 为什么用极大似然函数
查看>>
LightGBM 如何调参
查看>>
用 TensorFlow.js 在浏览器中训练神经网络
查看>>
梯度消失问题与如何选择激活函数
查看>>
为什么需要 Mini-batch 梯度下降,及 TensorFlow 应用举例
查看>>
为什么在优化算法中使用指数加权平均
查看>>
初探Java设计模式5:一文了解Spring涉及到的9种设计模式
查看>>