JAVA中继承Thread类来实现多线程

本文详细介绍了在JAVA中通过继承Thread类实现多线程的方法。从创建ThreadImp类并重写run方法开始,到演示两个线程共享资源导致的数据不安全现象,深入浅出地解析了多线程编程的基础概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA中实现多线程的方式有4种:
1.类继承Thread类,重写run方法;
2.类实现Runnable,重写run方法;

3.实现Callable接口通过FutureTask包装器来创建Thread线程;
4.使用ExecutorService、Callable、Future实现有返回结果的线程;

今天讲第一种实现方法:

1.创建一个ThreadTest类,类中包含一个ThreadImp类。ThreadImp类继承Thread类。

public class ThreadTest {
    public static void main(String[] args){
   
    }
}
class ThreadImp extends Thread{

}

2.ThreadImp类重写run方法

class ThreadImp extends Thread{
    static Integer i=0;//定义一个全局的静态变量i;
    public void run(){
        while(i < 10) {
            i++;//当线程同时抢占资源后,会导致i数据不安全
            //输出当前线程和线程所占有的i
            System.out.println(Thread.currentThread() + ":这个线程的i是" + i);
        }
    }
}

3.main方法种创建2个线程对象

  public static void main(String[] args){
        ThreadImp t1= new ThreadImp();
        ThreadImp t2 =new ThreadImp();
        t1.start();
        t2.start();
    }

4.启动main方法

第一次:
在这里插入图片描述
第二次:
在这里插入图片描述
第三次:
在这里插入图片描述

虽然测试数据量较小,但是我们也发现存在线程共同抢占i资源的现象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值