七年开发经验告诉你java 多线程Thread与Runnable的区别

1.Runnable适合多线程操作同一资源。

2.Runnable接口可以避免java单继承带来的局限

3.Runnable增强代码健壮性,代码被多个线程共享

测试:

[java] view plain copy

package main.uitls;

publicclass Demo {

publicstaticvoid main(String[] arg0){

Mythread m1 = new Mythread();

Mythread m2 = new Mythread();

Mythread m3 = new Mythread();

m1.start();

m2.start();

m3.start();

/*MyRunnable myRunnable =new MyRunnable();

Thread m1 = new Thread(myRunnable);

Thread m2 = new Thread(myRunnable);

Thread m3 = new Thread(myRunnable);

m1.start();

m2.start();

m3.start();*/

}

}

class Mythread extends Thread{

publicint num = 5;

publicvoid run() {

for(int i=100;i > 0;i--){

if(num>0){

System.out.println("当前剩余票数:"+num--);

}

}

}

}

class MyRunnable implements Runnable{

publicint num = 5;

publicvoid run() {

for(int i=100;i > 0;i--){

if(num>0){

System.out.println("当前剩余票数:"+num--);

}

}

}

}

当使用Thread时,多个线程之间数据没有共享,返回的结果为(每次运行结果可能不同)

[html] view plain copy

当前剩余票数:5

当前剩余票数:4

当前剩余票数:3

当前剩余票数:5

当前剩余票数:2

当前剩余票数:5

当前剩余票数:1

当前剩余票数:4

当前剩余票数:3

当前剩余票数:2

当前剩余票数:4

当前剩余票数:1

当前剩余票数:3

当前剩余票数:2

当前剩余票数:1

当使用Runnable时县城之间数据共享:

[java] view plain copy

MyRunnable myRunnable =new MyRunnable();

Thread m1 = new Thread(myRunnable);

Thread m2 = new Thread(myRunnable);

Thread m3 = new Thread(myRunnable);

m1.start();

m2.start();

m3.start();

结果为:

[html] view plain copy

当前剩余票数:5

当前剩余票数:3

当前剩余票数:4

当前剩余票数:1

当前剩余票数:2

大家可以点击加入群:【Java高级架构进阶群】 里面有Java高级大牛直播讲解知识点 走的就是高端路线,(如果你想跳槽换工作 但是技术又不够 或者工作上遇到了瓶颈 ,我这里有一个JAVA的免费直播课程 ,讲的是高端的知识点基础不好的误入哟,只要你有1-5年的开发经验可以加群找我要课堂链接 注意:是免费的 没有开发经验误入哦)

点击链接加入群聊【Java高级架构进阶群】:群地址

写在最后:欢迎留言讨论,加关注,持续更新!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本系列译自jakob jenkov的Java并发多线程教程,个人觉得很有收获。由于个人水平有限,不对之处还望...
    Steven_cao阅读 4,927评论 0 2
  • 本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。 首先讲...
    李欣阳阅读 7,186评论 1 15
  • Java多线程学习 [-] 一扩展javalangThread类 二实现javalangRunnable接口 三T...
    影驰阅读 8,064评论 1 18
  • 本周的appstore排行榜新晋了一名成员——小睡眠APP 小睡眠APP实际上应该来说并不陌生,它是为数不多的从微...
    跹尘阅读 13,900评论 0 11
  • 一周的家庭游,(姑姑一家三口+豆儿与豆妈,豆爸不在),10号结束。此刻岗哄睡着了熊孩子,自己在与周...
    暖静儿阅读 968评论 0 1