Java多线程编程核心技术(第3版)
上QQ阅读APP看书,第一时间看更新

1.2 使用多线程

想学习一个技术就要“接近”它,所以本节首先通过一个示例来接触一下线程。

一个进程正在运行时至少会有一个线程在运行,这种情况在Java中也是存在的,这些线程在后台默默地执行,比如调用public static void main()方法的main线程就是这样,而且它由JVM创建。

创建示例项目callMainMethodMainThread,并创建Test.java类,代码如下:


package test;

public class Test {

    public static void main(String[] args) {
        System.out.println(Thread.currentThread().getName());
    }

}

程序运行后的效果如图1-7所示。

图1-7 主线程main出现

在控制台输出的main其实就是一个名称为main的线程在执行main()方法中的代码,main线程由JVM创建。另外需要说明一下,在控制台输出的main和main方法没有任何关系,它们仅仅是名字相同而已。

创建A类代码如下:


package test1;

public class A {
    public static void main(String[] args) {
        B b = new B();
        b.bMethod();
    }
}

创建B类代码如下:


package test1;

public class B {
    public void bMethod() {
        System.out.println("B bMethod " + Thread.currentThread().getName());
    }
}

程序运行结果如下:


B bMethod main

在B类中的bMethod()方法打印的线程名称还是main,说明和public static void main(String[] args)方法名称没有关系,仅仅是同名而已。