1 package multithread;
2
3 /*
4 * 进程:正在进行中的程序(直译)。
5 *
6 * 线程:就是进程中一个负责程序执行的控制单元(执行路径)。
7 * 一个进程中可以多执行路径,称之为多线程。
8 *
9 * 一个进程中至少要有一个线程。
10 *
11 * 开启多个线程是为了同时运行多部分代码。
12 *
13 * 每一个线程都有自己运行的内容。这个内容可以称为线程要执行的任务
14 *
15 * 多线程好处:解决了多部分同时运行的问题。
16 *
17 * 多线程的弊端:线程太多回到效率的降低。
18 *
19 * 其实应用程序的执行都是cpu在做着快速的切换完成的。这个切换是随机的。
20 *
21 *
22 * JVM启动时就启动了多个线程,至少有两个线程可以分析的出来。
23 *
24 * 1,执行main函数的线程。
25 * 该线程的任务代码都定义在main函数中。
26 * 2,负责垃圾回收的线程。
27 *
28 *
29 */
30
31 class Demo_0 extends Object{
32 public void finalize()
33 {
34 System.out.println("demo ok");
35 }
36 }
37
38
39
40 public class ThreadDemo {
41
42 public static void main(String[] args) {
43 // TODO Auto-generated method stub
44 new Demo_0();
45 new Demo_0();
46 // System.gc();//Hello World!
47 //demo ok
48 //demo ok
49
50 new Demo_0();
51 System.gc();//
52 //Hello World!
53 //demo ok
54 //demo ok
55 //demo ok 有可能出现Hello World!后跟一个demo ok
56 System.out.println("Hello World!");
57 }
58
59 }