多线程篇2——Thread类实现多线程

一、Thread类实现多线程的方式

  1. 需要继承Thread类
  2. 必须要重写run方法,指的是核心执行的逻辑
  3. 线程在启动的时候,不要直接调用run方法,而是要通过start()来进行调用

二、 实例

以下两段代码除了表示出不同的地方,其他地方均相同

public class ThreadDemo  extends Thread{

    @Override
    public void run() {
        for(int i = 0;i<10;i++){
            System.out.println(Thread.currentThread().getName()+"--------------"+i);
        }
    }

    public static void main(String[] args) {
        ThreadDemo threadDemo = new ThreadDemo();
        threadDemo.run();	//此处注意
        for(int i =0;i<5;i++){
            System.out.println(Thread.currentThread().getName()+"==========="+i);
        }

    }
}
结果如下
main--------------0
main--------------1
main--------------2
main--------------3
main--------------4
main--------------5
main--------------6
main--------------7
main--------------8
main--------------9
main===========0
main===========1
main===========2
main===========3
main===========4

很显然,这并没有实现多线程的效果,也是以上Thread类实现多线程的方式第三点要求的原因
更改后代码如下

public class ThreadDemo  extends Thread{

    @Override
    public void run() {
        for(int i = 0;i<10;i++){
            System.out.println(Thread.currentThread().getName()+"--------------"+i);
        }
    }

    public static void main(String[] args) {
        ThreadDemo threadDemo = new ThreadDemo();
        threadDemo.start();	//此处注意
        for(int i =0;i<5;i++){
            System.out.println(Thread.currentThread().getName()+"==========="+i);
        }

    }
}

结果如下

main===========0
Thread-0--------------0
main===========1
Thread-0--------------1
main===========2
Thread-0--------------2
main===========3
Thread-0--------------3
main===========4
Thread-0--------------4
Thread-0--------------5
Thread-0--------------6
Thread-0--------------7
Thread-0--------------8
Thread-0--------------9

Process finished with exit code 0

每次运行相同的代码,出来的结果可能不一样,原因在于多线程谁先抢占资源无法进行人为控制

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值