创建线程是使用Java多线程的基本步骤之一,可以使用线程类或者实现Runnable接口的线程对象。结束线程可以使用stop方法,但因为此方法可能会导致不可预知的结果而被废弃,因此推荐使用条件退出方式停止线程。
以下是Java创建与结束线程的完整攻略:
创建线程
- 使用线程类
继承Thread类并实现run方法,run方法中包含当前线程的操作逻辑。然后创建线程对象并调用start方法启动线程,即可创建一个线程。
public class MyThread extends Thread {
@Override
public void run() {
// 操作逻辑
}
}
// 创建线程对象并启动线程
MyThread thread = new MyThread();
thread.start();
- 实现Runnable接口
实现Runnable接口并实现run方法,run方法中包含当前线程的操作逻辑。然后创建线程对象并调用start方法启动线程,即可创建一个线程。
public class MyRunnable implements Runnable {
@Override
public void run() {
// 操作逻辑
}
}
// 创建线程对象并启动线程
MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
thread.start();
结束线程
使用条件退出方式停止线程,即在run方法中增加一个判断条件,当满足条件时,通过return语句退出线程。例如,在以下示例中,当循环次数达到3时,停止线程。
public class MyRunnable implements Runnable {
private int count = 0;
@Override
public void run() {
while (!Thread.currentThread().isInterrupted() && count < 3) {
// 操作逻辑
count++;
}
}
}
// 创建线程对象并启动线程
MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
thread.start();
// 停止线程
thread.interrupt();
另外一个常见的停止线程的方式是使用volatile变量来控制线程的状态,如下所示:
public class MyRunnable implements Runnable {
private volatile boolean running = true;
@Override
public void run() {
while (running) {
// 操作逻辑
}
}
public void stop() {
running = false;
}
}
// 创建线程对象并启动线程
MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
thread.start();
// 停止线程
runnable.stop();
上面两个示例都可以有效地停止线程,但第二个示例更推荐,因为它可以在run方法中清理资源,保证线程退出的安全性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java创建与结束线程代码示例 - Python技术站