为了账号安全,请及时绑定邮箱和手机立即绑定

对该视频中部分内容的疑问:买票的不同应该不是Thread和Runnable不同导致的,而是编程是Thread的程序没有共享资源。

      该视频中的买票结果的不同应该不是Thread和Runnable不同导致的,而是编程是Thread的程序没有共享资源,而Runnable程序的资源共享了。

      继承Thread类实现多线程时像Runnable一样共享资源一样可以实现Runnable的效果,亲测代码如下,请作者看一下,给一个解释:

5863c3800001ad7e05000228.jpg

5863c387000132c805000362.jpg

http://img1.sycdn.imooc.com//5863c3fb0001d53310560838.jpg

正在回答

2 回答

谢谢解答

0 回复 有任何疑惑可以回复我~

你这个是把继承当实现接口用了啊,类继承像这样用是看不到与接口的区别的。要想共享资源你把你的变量ticket定义为static 静态常量就行了,我看过别人这么写过

1 回复 有任何疑惑可以回复我~
#1

Clz0 提问者

我的搞清楚的是视频中的讲的区别是不是并不是继承Thread类和实现Runnable接口导致的区别?还是我误解了。查了一些资料后发现已有一些博客在讨论这个问题。 那继承Thread类和实现Runnable接口的区别是什么?是不是只有实现接口还可以继承其他的类优势。
2016-12-29 回复 有任何疑惑可以回复我~
#2

慕粉3574461 回复 Clz0 提问者

多线程根本是Thread类,实现接口这种也是要经过Thread类,因为Thread类中的start方法。但是继承了之后,就可以有start方法了,再去创建thread类多余了。资源共享是因为你的类中有这个属性,你创建一个类的实例就会有一个ticket,重复创建就会有多个10张票。如果是静态的变量就会避免这个问题
2017-01-05 回复 有任何疑惑可以回复我~
#3

Clz0 提问者 回复 慕粉3574461

谢谢解答
2017-01-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

对该视频中部分内容的疑问:买票的不同应该不是Thread和Runnable不同导致的,而是编程是Thread的程序没有共享资源。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信