进程:是指一个内存中运行的应用程序(已经在内存中运行的程序). 一个进程都有一个独立的内存空间,一个电脑(手机)可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;
线程:是进程中的一个执行单元(线程是依赖于进程的),负责当前进程中程序的执行,一个进程中至少有一个线程(单线程程序)。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。
并发和并行
前提
多个任务
多个线程
是线程的特性
高性能、高可用、高并发(三高)
并行:指两个或多个事件在同一时刻发生(同时发生 同时处理 执行者不是一个)。
并发:指两个或多个事件在同一个时间段内发生(交替的发生 执行者是一个)。
电脑在执行任务的时候是采用并发还是并行?
使用的是并发, 因为电脑上只有一个CPU,但是电脑上好像却可以同时运行多个程序,同时开了多个线程,其实这是一种假象,因为CPU的计算速度极快,约每秒50亿次计算,而人能感觉到的时间流失是秒,所以电脑给我们一种感觉好像电脑上程序在同时执行.
计算机CPU都是-Java抢占式调度。 每一个线程都会执行到,但是不一定时按序执行,执行取决于线程优先级,CPU有自己算法。