news 2026/6/23 23:54:08

Thread类及常见方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Thread类及常见方法

一、Thread的常见构造方法

方法说明
Thread()

这会创建一个默认的线程对象,没有指定要执行的任务

Thread(Runnable target)

通过传入一个 Runnable 接口的实现类来指定线程要执行的任务

Thread(String name)

创建线程并指定线程名称,便于调试和日志记录

Thread(Runnable target,String name)

同时指定任务和名称

示例:

// 无参构造 Thread thread1 = new Thread(); // 带 Runnable Runnable task = () -> System.out.println("Hello from thread"); Thread thread2 = new Thread(task); // 带名称 Thread thread3 = new Thread("MyThread"); // 带 Runnable 和名称 Thread thread4 = new Thread(task, "MyTaskThread");

二、Thread的几种常见属性

属性获取方法
线程名称getName()
线程优先级getPriority()
守护线程标志isDeamo()
线程IDgetId()
线程状态getState()

示例:

Thread thread = new Thread(); System.out.println("Name: " + thread.getName()); // Thread-0 System.out.println("Priority: " + thread.getPriority()); // 5 System.out.println("Is Daemon: " + thread.isDaemon()); // false System.out.println("ID: " + thread.getId()); // 例如 12 System.out.println("State: " + thread.getState()); // NEW

三、启动一个线程-start()

要启动一个线程,不能直接调用 run() 方法(那样只是普通方法调用,不会开启新线程),而是要调用 start() 方法。start() 会通知 JVM 创建一个新线程,并调用 run() 方法。

  • public void start():启动线程。一旦调用,线程进入 RUNNABLE 状态。
  • 注意:一个线程只能调用一次 start(),多次调用会抛出 IllegalThreadStateException。

示例:

Thread thread = new Thread(() -> { System.out.println("Thread is running"); }); thread.start(); // 启动线程

四、中断一个线程

方法说明

public void interrupt()

向线程发送中断信号,设置中断标志

public boolean isInterrupted()

检查中断标志(不清除)

public static boolean interrupted()

检查并清除中断标志

示例:

Thread thread = new Thread(() -> { while (!Thread.interrupted()) { System.out.println("Working..."); } System.out.println("Interrupted!"); }); thread.start(); // 稍后中断 thread.interrupt();

五、等待一个线程-join()

方法说明

public void join()

无限等待,直到目标线程结束

public void join(long millis)

等待指定毫秒,如果超时则继续

public void join(long millis, int nanos)

更精确的超时等待

示例:

Thread thread = new Thread(() -> { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("Thread finished"); }); thread.start(); try { thread.join(); // 主线程等待 thread 完成 } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("Main thread continues");

六、获取当前线程引用

方法说明

public static Thread currentThread()

返回当前线程的 Thread 对象

示例:

public class Main { public static void main(String[] args) { Thread current = Thread.currentThread(); System.out.println("Current thread: " + current.getName()); // main new Thread(() -> { Thread inner = Thread.currentThread(); System.out.println("Inner thread: " + inner.getName()); // Thread-0 }).start(); } }

七、休眠当前线程

方法说明

public static void sleep(long millis)

休眠指定毫秒

public static void sleep(long millis, int nanos)

更精确的休眠

示例:

try { Thread.sleep(1000); // 休眠 1 秒 } catch (InterruptedException e) { // 处理中断 Thread.currentThread().interrupt(); // 重新设置中断标志 } System.out.println("Woke up!");
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 20:40:45

Qwen3-VL-8B-Thinking:2025多模态AI革命,从看懂到行动的跨越

Qwen3-VL-8B-Thinking:2025多模态AI革命,从看懂到行动的跨越 【免费下载链接】Qwen3-VL-8B-Thinking 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-VL-8B-Thinking 导语 阿里通义千问团队推出的Qwen3-VL-8B-Thinking多模态大模型&a…

作者头像 李华
网站建设 2026/6/24 6:28:29

Next.js缓存迷思终结者:告别“本地正常线上崩“的终极指南

Next.js缓存迷思终结者:告别"本地正常线上崩"的终极指南 【免费下载链接】next.js The React Framework 项目地址: https://gitcode.com/GitHub_Trending/next/next.js 你是否经历过这样的困扰:本地开发一切顺利,部署到服务…

作者头像 李华
网站建设 2026/6/23 17:08:29

Wan2.1首尾帧视频生成实战教程:从入门到精通

Wan2.1首尾帧视频生成实战教程:从入门到精通 【免费下载链接】Wan2.1-FLF2V-14B-720P-diffusers 项目地址: https://ai.gitcode.com/hf_mirrors/Wan-AI/Wan2.1-FLF2V-14B-720P-diffusers 你是否曾经遇到过这样的困境:想要制作一个简单的动画视频…

作者头像 李华
网站建设 2026/6/23 17:08:06

3个技巧让你的Android应用实现智能视频自动播放

3个技巧让你的Android应用实现智能视频自动播放 【免费下载链接】AutoplayVideos Android library to auto-play/pause videos from url in recyclerview. 项目地址: https://gitcode.com/gh_mirrors/au/AutoplayVideos 还在为Android应用中视频播放的卡顿和性能问题头疼…

作者头像 李华
网站建设 2026/6/23 17:10:36

腾讯混元大模型开源:520亿激活参数重构AI产业效率标准

腾讯混元大模型开源:520亿激活参数重构AI产业效率标准 【免费下载链接】Tencent-Hunyuan-Large 项目地址: https://ai.gitcode.com/hf_mirrors/tencent/Tencent-Hunyuan-Large 导语:从参数竞赛到效率革命,腾讯开源混元大模型改写行业…

作者头像 李华
网站建设 2026/6/23 17:08:35

Heroicons SVG图标库完整手册:从入门到精通的终极指南

Heroicons SVG图标库完整手册:从入门到精通的终极指南 【免费下载链接】heroicons 项目地址: https://gitcode.com/gh_mirrors/her/heroicons 还在为界面设计寻找合适的图标而烦恼吗?Heroicons作为Tailwind CSS团队精心打造的开源SVG图标库&…

作者头像 李华