关于进程的一些基本概念
1. 进程
进程就是应用程序在内存中分配的空间,也就是正在运行的程序,各个进程之间互不干扰。同时进程保存着程序每一个时刻运行的状态。
2. 线程
线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。
与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,
所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。
3. 线程与进程的区别
线程是进程划分成的更小的运行单位。线程和进程最大的不同在于基本上各进程是独立的,
而各线程则不一定,因为同一进程中的线程极有可能会相互影响。线程执行开销小,但不利于资源的管理和保护;而进程正相反。
4. 并发与并行
* 并发: 同一时间段,多个任务都在执行 (单位时间内不一定同时执行);
* 并行: 单位时间内,多个任务同时执行。
5. 线程安全
线程安全: 就是多线程访问时,采用了了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不不能进行访问,
直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。
6. 线程不安全
就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。