Java中Thread类和Runnable接口的函数使用详解
Java中的Thread类和Runnable接口是并发编程中使用的两个重要的API,用于创建多线程程序。Thread类包含了一些函数,可以用来控制线程的启动、停止和休眠等操作;而Runnable接口则只有一个run()函数,用于定义线程的任务。本文将详细介绍Thread类和Runnable接口的函数使用。
一、Thread类的函数介绍
1. start():启动线程,当调用start()函数时,线程被创建并开始运行。
2. sleep(long millis):使当前线程休眠指定的毫秒数。
3. interrupt():中断线程的执行,当被中断的线程执行时,会抛出InterruptedException异常。
4. isAlive():判断线程是否还活着。如果线程还活着,即线程还没有执行完毕或被中断,则返回true。
5. join():等待该线程结束。当一个线程A调用另一个线程B的join()函数时,线程A会进入等待状态,直到线程B结束。
6. setName(String name):设置线程名称。
7. setPriority(int priority):设置线程的优先级。优先级的范围是1-10,其中1是最低优先级,10是最高优先级。
8. stop():强制中止线程。这个函数已经被废弃了,因为它在中止线程的过程中可能会破坏对象的一些状态。
二、Runnable接口的函数介绍
1. run():定义线程的任务。当线程启动后,run()函数将被执行。
三、示例代码
下面我们来看一些使用Thread类和Runnable接口的示例代码。
使用Thread类创建线程的示例代码:
class MyThread extends Thread {
public void run() {
for(int i=0; i<10; i++) {
System.out.println("Thread: " + i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class Main {
public static void main(String[] args) {
MyThread t = new MyThread();
t.start();
System.out.println("Main: Thread started...");
}
}
使用Runnable接口创建线程的示例代码:
class MyRunnable implements Runnable {
public void run() {
for(int i=0; i<10; i++) {
System.out.println("Runnable: " + i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class Main {
public static void main(String[] args) {
Thread t = new Thread(new MyRunnable());
t.start();
System.out.println("Main: Thread started...");
}
}
本文简单介绍了Thread类和Runnable接口的函数使用,包括了线程启动、停止、休眠、中断等操作,以及定义线程任务的run()函数。通过这些函数的使用,我们可以创建多线程程序,实现并发编程。
