JAVA多线程Thread和Runnable的实现
作者:互联网
2025-08-09
java中只允许单一继承,但允许实现多个接口,因此第二种方法更灵活。
复制代码代码如下:
/**
* 运行继承java.lang.Thread类定义的线程
*/
public void startOne() {
// 创建实例
OneThread oneThread = new OneThread();
// 启动线程ThreadA
oneThread.startThreadA();
try {
// 设置线程休眠1秒
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 停止线程,此处为什么不用stop()方法,因为该方法已经废弃,但可以用在死锁。
oneThread.stopThreadA();
}
复制代码代码如下:
/**
* 运行实现Runnable接口定义的线程
*/
public void startTwo() {
// 创建实例
Runnable runnable = new TwoThread();
// 将实例放入到线程中
Thread threadB = new Thread(runnable);
// 启动线程
threadB.start();
}
复制代码代码如下:
// 继承Thread类定义线程
class OneThread extends Thread {
private boolean running = false;
public void start() {
this.running = true;
super.start();
}
public void run() {
int i = 0;
try {
while (running) {
System.out.println("继承Thread类定义线程程序体......" + i++);
Thread.sleep(200);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void startThreadA() {
System.out.println("启动继承Thread类定义线程");
this.start();
}
public void stopThreadA() {
System.out.println("关闭继承Thread类定义线程");
this.running = false;
}
}
复制代码代码如下:
// 实现Runnable接口定义线程
class TwoThread implements Runnable {
private Date runDate;
public void run() {
System.out.println("实现Runnable接口定义线程程序体......");
this.runDate = new Date();
System.out.println("线程启动时间......" + runDate);
}
复制代码代码如下:
public static void main(String[] args) {
// 实例化对象
ThreadStartAndStop threadStartAndStop = new ThreadStartAndStop();
threadStartAndStop.startOne();
threadStartAndStop.startTwo();
}
启动继承Thread类定义线程
继承Thread类定义线程程序体......0
继承Thread类定义线程程序体......1
继承Thread类定义线程程序体......2
继承Thread类定义线程程序体......3
继承Thread类定义线程程序体......4
关闭继承Thread类定义线程
实现Runnable接口定义线程程序体......
线程启动时间......Fri Mar 15 12:56:57 CST 2013
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
【从0到1构建一个ClaudeAgent】并发-后台任务
MyBatis、MyBatis-Plus、JPA、MyBatisGX 写法比较:同一个需求,四种解法
java2AI系列:SpringAI 通过 Function Calling 接入外部系统
Java 通用树形结构构建与解析工具类解析
深度剖析:Java 并发三大量难题 —— 死锁、活锁、饥饿全解
别再重复造轮子了!SpringBoot对接第三方系统模板,拿来即用
Spring AI 核心原理解析:基于 1.1.4 版本拆解底层架构
华为 IODT 设备接入
自定义跨字段校验必填注解
别再System.out了!这份SpringBoot日志优雅指南,让你告别日志混乱
AI精选
