public class ThreadExample implements Runnable {
private String taskName;
public ThreadExample(String taskName) {
this.taskName = taskName;
}
public void run() {
try {
System.out.println("Task '" + taskName + "' is running.");
Thread.sleep(2000); // 模拟任务执行
System.out.println("Task '" + taskName + "' has completed.");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Thread t1 = new Thread(new ThreadExample("Task 1"));
Thread t2 = new Thread(new ThreadExample("Task 2"));
t1.start(); // 启动线程t1
t2.start(); // 启动线程t2
try {
t1.join(); // 等待线程t1执行完毕
t2.join(); // 等待线程t2执行完毕
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("All tasks have been completed.");
}
}以上代码展示了Java中使用多线程实现任务的并发执行。我们通过实现Runnable接口,并在run方法中编写任务的具体逻辑。首先创建线程t1和t2,然后通过调用start方法启动线程。执行完start后,线程t1和t2会并发执行任务。使用join方法可以等待线程t1和t2执行完毕。
在实际开发中,多线程的应用场景非常广泛。例如,可以使用多线程实现并发处理任务、提高程序运行效率等。在编写多线程代码时,需要注意线程安全和资源共享的问题,确保代码的正确性和性能。