多线程-进程-线程-线程对象生命周期
1、进程:
- 进程是一个应用程序(1个进程是一个软件)。
- 进程可以看做是现实生活当中的公司。
- 一个进程可以启动多个线程。
- 进程之间的内存独立不共享;
2、线程:
- 线程是一个进程中的执行场景/执行单元。
- 线程可以看做是公司当中的某个员工。
- java中多线程机制,目的就是为了提高程序的处理效率。
- java中:线程A和线程B,堆内存和方法区内存共享。栈内存独立,一个线程一个栈。
3、使用多线程之后main方法结束后,程序是不是就结束了?
- main方法结束只是主线程结束了,主栈空了,其它的栈(线程)可能还在压栈弹栈。
4、问题:对于单核的CPU来说,真的可以做到真正的多线程并发吗?
- 单核的CPU:不能够做到真正的多线程并发,但是可以做到给人一种“多线程并发”感觉。
- 单核的CPU来说,在某一个时间点上实际上只能处理一件事情,但是CPU的处理速度快,
- 多个线程之间频繁切换执行,感觉是:多个事情同时在做!
- 对于多核的CPU电脑来说,真正的多线程并发是没问题的。
- 4核CPU表示同一个时间点上,可以真正有4个进程并发执行。
5、线程对象的生命周期:
新建状态 > 就绪状态 > 运行状态 > 阻塞状态 >