线程(Thread)是程序的执行单元,一个进程内可包含多个线程。利用多核 CPU 并行执行任务(如并发计算、批量处理)。主线程不阻塞(如 GUI 界面后台加载数据)。共享进程资源(内存、文件句柄),减少上下文切换开销。Java 多线程通过并发执行提升程序效率,核心实现方式包括:Thread、Runnable 和 Callable,需注意线程安全问题(同步机制)。实际开发中优先使用线程池和并发工具类(如 JUC 包)简化编码并优化性能。
1、继承 Thread 类,重写 run() 方法
Thread 类是 java.lang 包中的一个类,从这个类中实例化的对象代表线程,程序员启动一个新线程需要建立 Thread 实例。
Thread 类中常用的两个构造方法如下:
public Thread():创建一个新的线程对象。
public Thread(String threadName):创建一个名称为threadName的线程对象。
其它构造方法:
public Thread(Runnable target);
public Thread(Runnable target, String name);
public Thread(ThreadGroup group, String name) ;
public Thread(ThreadGroup group, Runnable target) ;
public Thread(ThreadGroup group, Runnable target, String name) ;
继承Thread类创建一个新的线程的语法如下:
public class ThreadTest extends Thread
{
// 重写 run() 方法
@Override
public void run()
{
}
}
完成线程真正功能的代码放在类的 run() 方法中,当一个类继承 Thread 类后,就可以在该类中覆盖 run() 方法,将实现该线程功能的代码写入到 run() 方法中,然后同时调用Thread 类中的 start() 方法执行线程,也就是调用 run() 方法。
【示例】在项目中创建 ThreadTest 类,该类继承 Thread 类,重写 run() 方法创建线程。
/**
* 继承 Thread 类实现多线程
* @author pan_junbiao
**/
public class ThreadTest extends Thread
{
private String blogName; //博客名称
private String blogUrl; //博客地址
// 构造函数
public ThreadTest(String blogName, String blogUrl)
{
this.blogName = blogName;
this.blogUrl = blogUrl;
}
// 重写 run() 方法
@Override
public void run()
{
try
{
System.out.println(getName() + " 博客名称:" + this.blogName);
Thread.sleep(100); //模拟程序的运行过程很耗时
System.out.printl