Java主线程
Java 程序一启动,立刻有一条线程在跑,通常叫主线程(main thread),因为它从程序开始就执行。
主线程重要在两头:它是产生其他子线程的线程;通常它必须最后结束,因为它还要做各种关闭动作。
主线程虽是自动创建的,但仍可用 Thread 对象控制。先调公有静态方法 currentThread() 拿到引用,之后就能像控制其他线程那样控制它:
一、控制主线程的例子
拿到当前线程(这里自然是主线程)存进 t,打印信息,再用 setName() 改名。接着从 5 倒数,每次暂停 1000 毫秒(1 秒)——原文写成“1 毫秒”是笔误,代码里是 Thread.sleep(1000)。
sleep() 可能抛 InterruptedException(其他线程想叫醒沉睡线程时)。本例只打印是否被打断;实际程序要认真处理。输出类似:
把 t 交给 println 时,显示顺序是:线程名、优先级、组名。默认主线程名叫 main,优先级 5,所属组也叫 main。线程组(thread group)是把若干线程当整体控制的数据结构,由运行时处理。改名后再打印,就会看到新名字。
二、sleep / setName / getName
| 方法 | 说明 |
|---|---|
| static void sleep(long milliseconds) | 按毫秒挂起,可能抛 InterruptedException |
| static void sleep(long milliseconds, int nanoseconds) | 额外指定纳秒;仅当运行时支持纳秒周期时有意义 |
| final void setName(String threadName) | 设置线程名称 |
| final String getName() | 读取线程名称 |
一句话总结:主线程自动诞生、负责派生和收尾;用 currentThread() 拿到它,就能改名、sleep,并让它通常最后一个退出。
转载请注明来源:Java主线程






