如何理解:程序、进程、线程、并发、并行、高并发?

【程序】:

程序可以理解为个人的思维整合所设计和编写的一种有特殊意义的文本作品,其包含一些有特殊含义的词汇、符号、数据及短语缩写,俗称代码。程序本身是一种静态的文本作品,但通过特殊的环境,能让其产生动态的逻辑和具备运算能力。

【进程】:

1. 进程的介绍

在Python程序中,想要实现多任务可以使用进程来完成,进程是实现多任务的一种方式。

2. 进程的概念

一个正在运行的程序或者软件就是一个进程,它是操作系统进行资源分配的基本单位,也就是说每启动一个进程,操作系统都会给其分配一定的运行资源(内存资源)保证进程的运行。

比如:现实生活中的公司可以理解成是一个进程,公司提供办公资源(电脑、办公桌椅等),真正干活的是员工,员工可以理解成线程。

注意:

一个程序运行后至少有一个进程,一个进程默认有一个线程,进程里面可以创建多个线程,线程是依附在进程里面的,没有进程就没有线程

3. 进程的作用

单进程效果图:

如何理解:程序、进程、线程、并发、并行、高并发?_第1张图片

多进程效果图:

如何理解:程序、进程、线程、并发、并行、高并发?_第2张图片

说明:

多进程可以完成多任务,每个进程就好比一家独立的公司,每个公司都各自在运营,每个进程也各自在运行,执行各自的任务。

【线程】:

1. 线程的介绍

在Python中,想要实现多任务除了使用进程,还可以使用线程来完成,线程是实现多任务的另外一种方式。

2. 线程的概念

线程是进程中执行代码的一个分支,每个执行分支(线程)要想工作执行代码需要cpu进行调度 ,也就是说线程是cpu调度的基本单位,每个进程至少都有一个线程,而这个线程就是我们通常说的主线程。

3. 线程的作用

多线程可以完成多任务

多线程效果图:

如何理解:程序、进程、线程、并发、并行、高并发?_第3张图片

【并行和并发】:

并发:指的是任务数多于cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已)。

真正的并行执行多任务只能在多核CPU上实现,但是,由于任务数量远远多于CPU的多核数量,所以,操作系统也会自动把很多任务轮流调度到每个核心上执行。

如何理解:程序、进程、线程、并发、并行、高并发?_第4张图片

并行:指的是任务数小于等于cpu核数,即任务真的是一起执行的

如何理解:程序、进程、线程、并发、并行、高并发?_第5张图片

【高并发】:

如何理解:程序、进程、线程、并发、并行、高并发?_第6张图片

相对于分布式来讲,高并发在解决的问题上会集中一些,其反应的是同时有多少量:比如在线直播服务,同时有上万人观看。

高并发可以通过分布式技术去解决,将并发流量分到不同的物理服务器上。但除此之外,还可以有很多其他优化手段:比如使用缓存系统,将所有的,静态内容放到CDN等;还可以使用多线程技术将一台服务器的服务能力最大化。

你可能感兴趣的:(公众号,java,线程)