Java多线程start()和run()的区别

线程的执行方式有两种:

1run();

2start(),

run()只是用来表示线程要执行的任务,如果所有线程都是用这个方法执行的,那么所有线程的执行顺序只会按照代码的顺序执行:

    线程1.run();

    线程2.run();

    线程3.run(),

线程的实际执行顺序只会按照代码所写的1,2,3依次执行。

而start()方法是和操作系统进行交互:线程通过start()方法获得操作系统的CPU时间片来执行run()方法中的任务。也就是说谁先获得CPU时间片,谁先执行:

    线程1.start();

    线程2.start();

    线程3.start(),

线程将有可能不再按照1,2,3的顺序执行。

注意线程通过start()方法的执行,自动的地执行了run()方法中的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值