Java多线程学习笔记
Java多线程学习笔记
(1) 当运行一个应用程序的时候,就启动了一个进程,有些程序会启动多个进程。
(2) 在进程中,有些程序块是可以乱序执行的,并且这个代码块可以同时被多次执行,这样的代码块就是线程体,线程是进程中乱序执行的代码流程。
(3) 操作系统的多进程实现了多任务并发执行,程序的多线程实现了进程的并发执行,多线程的目的是为了最大限度的利用CPU资源。
(4) 每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程,当某个线程中运行的代码创建一个新Thread对象时,该新线程的初始优先级被设定为创建线程的优先级。
(5) 程序启动执行main的时候,Java虚拟机启动一个进程,主线程main在main()调用的时候被创建。
(6) 通过Thread类的构造方法Thread(Runnable target)构造出对象,然后调用Thread对象的start()方法来启动线程。
(7) start()方法调用后,并不是立即执行多线程代码,而是使该线程变为可执行状态Runnable,什么时候运行是由操作系统决定的。
(8) 从程序运行的结果可以发现,多线程程序是乱序执行。因此,只有乱序执行的代码才有必要设计为多线程。
(9) 在某个方法中调用Thread.CurrentThread().getName()方法,可以获取当前线程的名字。比如在main()中调用该方法,获取的是主线程的名字。