多线程笔记1

来源:互联网 发布:淘宝叶彬儿彩妆护肤 编辑:程序博客网 时间:2024/04/26 09:37

多线程1

首先要知道进程

进程:正在进执行中的程序(直译),每一个进程执行都有一个执行顺序,该顺序是一个执行路径或者叫一个控制单元。cpu在多个程序中不停快速的切换,人眼看现象则赶脚是同时进行。

如图:windows管理器的程序即为进程。



迅雷,多线程的体现,比如一个人搬东西,2分钟/次,需要10分钟,5个人同时搬则需要2分钟,一次完成。

下载文件,迅雷程序会开启多条程序同时下载,这里的程序则是线程。

线程:就是进程中一个负责程序执行的独立控制单元(执行路径),一个进程中可以有多个执行路径,称之为“多线程”。

线程是进程中的内容,每个进程至少有一个线程(主线程)。




public class Thread{    public static void main(String[] args)    {        for (int x = 0; x < 40000; x++)        {            System.out.println("hello!");        }    }}

运行前后对比,eclipse会开启javaw.exe进程运行,cmd执行则开启java.exe运行进程。



java VM 虚拟机启动会有一个进程,该进程至少会有一个线程负责程序的执行,而且这个线程运行的代码存在于mian方法中。那负责执行mianf方法中代码的这个线程称之为“主线程”,即目前运行的为“单线程”。



扩展:更细节说明虚拟机,jvm启动不止一个线程,还要负责垃圾回收机制的线程。



多线程的意义:可以多个代码块同时执行,也可以提高效率。单线程会导致jvm内存垃圾过多,jvm无法分配空间,此时则会暂停主线程(死机状态),调用垃圾回收线程清理垃圾,之后再继续运行主线程,给用户体验不好。




原创粉丝点击