一、程序:一个可执行的文件;
二、进程:一个正在运行的程序,也可以理解成在内存中开辟了一块空间;
三、线程:负责程序运行的最小单元(所以通常我们可以将进程的工作直接理解成线程的工作)
四、进程中可不可以没有线程?
答:不可以,必须有线程,至少要有一个。当有一个的时候,我们成为单线程,这唯一的一个线程成为主线程。当一个进程中有多个的时候,我们成为多线程。每个线程都有一个任务区,任务区通过对应的方法起作用
五、多个线程之间的关系?
答:多个线程之间是抢cpu的关系,线程之间是有随机性的;
六、如何理解线程的开始与结束
答:线程是随着任务的开始而开始,结束而结束的。注意点:当有线程还在工作的时候进程无法结束。
七、系统默认的线程有几个?
答:默认情况下有主线程和垃圾回收线程,默认都是由系统控制的,我们为了完成我们自己的任务,就要创建自己的线程
八、Thread类?java将线程面向对象了,形成的类就是Thread类,在Thread类内部负责工作的方法(任务区)是run方法,当我们执行完start,run方法会被自动调用,不需要我们手动执行。
九、直接创建Thread类好吗?
答:不好,没办法实现功能,这样创建线程没有意义,我们一般通过创建子类重写run方法,完成我们需要完成的任务。
十、注意:我们手动调用run方法时,他只是一个普通的方法,不代表线程任务区,只有被自动调用的时候才代表任务区。当手动调用run时,在哪里调用的这行代码,run内部对应的就是哪个线程。