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()中调用该方法,获取的是主线程的名字。

原文地址:https://www.cnblogs.com/liangweiping/p/3150546.html