Java中的线程函数是什么?如何创建和使用它们?
Java中的线程函数包括Thread类提供的方法及相关类库封装的方法,主要有以下几种:
1. run()方法:线程执行体,必须重写该方法。
2. start()方法:启动线程,当调用该方法时,线程会自动执行run()方法。
3. sleep()方法:使当前线程休眠一段时间,参数是以毫秒为单位的时间。
4. join()方法:让当前线程等待另一个线程执行完毕,然后再继续执行。
5. stop()方法:强制停止线程,不建议使用。
6. interrupt()方法:中断线程,让线程状态变为中断状态,但不一定会立即停止线程的执行,需要线程内部做出响应。
7. yield()方法:让出当前线程占用的CPU资源,让其他线程有机会执行。
8. wait()、notify()、notifyAll()方法:实现线程间的等待和唤醒。
创建线程的方法有两种:
1. 继承Thread类并重写run()方法。
2. 实现Runnable接口并实现run()方法,将实现Runnable接口的类作为参数传给Thread类的构造器,然后调用start()方法启动线程。
使用线程的步骤:
1. 创建线程实例。
2. 调用start()方法启动线程。
3. 在run()方法中编写线程的主体执行逻辑。
4. 等待线程执行结束或中断线程。
5. 处理线程执行中出现的异常情况,防止程序崩溃问题。
以下是一个简单的线程创建和使用的示例代码:
public class MyThread extends Thread { // 继承Thread类
public void run() { // 重写run()方法
for(int i = 0; i < 10; i++) {
System.out.println("MyThread is running: " + i);
try {
sleep(1000); // 休眠1秒钟
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class Main {
public static void main(String[] args) {
MyThread thread = new MyThread(); // 创建线程实例
thread.start(); // 启动线程
System.out.println("Main is running."); // 主线程继续执行
}
}
运行以上代码,将会输出以下结果:
Main is running. MyThread is running: 0 MyThread is running: 1 MyThread is running: 2 MyThread is running: 3 MyThread is running: 4 MyThread is running: 5 MyThread is running: 6 MyThread is running: 7 MyThread is running: 8 MyThread is running: 9
该示例中,创建了一个MyThread线程实例,调用start()方法启动线程,同时主线程继续执行,输出了"Main is running."。MyThread线程在run()方法中执行了循环输出语句,并使用sleep()方法休眠1秒钟。因此,最终输出了10次"MyThread is running: "。
