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

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

概念

(1)进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发;

(2)线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的

并发;
在这里插入图片描述

区别

1.一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程依赖于进程而存在。

2.进程在执行过程中拥有独立的内存单元,而多个线程共享进程的内存。

3.进程是资源分配的最小单位,线程是CPU调度的最小单位;

4.系统开销: 由于在创建或撤消进程时,系统都要为之分配或回收资源,如内存空间、I/o设备等。因此

,操作系统所付出的开销将显著地大于在创建或撤消线程时的开销。进程切换的开销也远大于线程切换的开销。

5.通信:由于同一进程中的多个线程具有相同的地址空间,致使它们之间的同步和通信的实现,也变得比

较容易。线程间可以直接读写进程数据段(如全局变量)来进行通信,需要进程同步和互斥手段的辅助,以保证数据的一致性。

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

你可能感兴趣的文章
java web 连接mysql数据库
查看>>
java 多线程简介
查看>>
docker架构
查看>>
Docker Client创建与命令执行
查看>>
springMVC学习笔记
查看>>
PageRank算法与特征向量和特征值(eigenvector和eigenvalue)
查看>>
HITS算法--从原理到实现
查看>>
MapReduce原理
查看>>
zookeeper原理
查看>>
MapReduce入门
查看>>
WEB服务器、应用程序服务器、HTTP服务器区别
查看>>
小白入门:大型网站技术架构负载均衡技术
查看>>
归并排序(JAVA)
查看>>
对Java Serializable(序列化)的理解和总结
查看>>
Netty Buffer(缓冲)
查看>>
Docker简单介绍
查看>>
.ftl文件 是什么文件
查看>>
数据结构与算法--栈、队列(队列)
查看>>
动态规划
查看>>
增强学习(一)——马尔科夫决策过程(MDP)
查看>>