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

细说多线程之Thread VS Runnable

难度初级
时长 1小时 0分
学习人数
综合评分9.63
171人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰

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

最新回答 / 小明100
Callable与 Future 两功能是Java在后续版本中为了适应多并法才加入的,Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其他线程执行的任务。Callable的接口定义如下;public interface Callable<V> {       V   call()   throws Exception; } Callable和Runnable的区别如下:I    Callable定义的方法是call,而Runnabl...

最赞回答 / 山河乾隆决
因为其实字符串在之前就已经拼接好了,只是当一号线程重新拿到cpu资源时才打印出来

已采纳回答 / 慕侠6876944
 窗口3卖了一张票,剩余票数:2 为什么还能声誉三张票  不是runable接口嘛

最新回答 / winner_DOIT
这种情况的解决办法应该可以用线程同步解决

已采纳回答 / 地铁时间ee
public class SoldTicketThread implements Runnable { private int ticket = 5; private synchronized void sale() { if (ticket > 0) { System.out.println(Thread.currentThread().getName() + "卖出了一张票,剩余" + (--ticket) + "张票"); try { Thread.sleep(100)...

最新回答 / 慕慕2548037
16年的帖子 19年的回答。。。

已采纳回答 / superboo
是这样的 因为runnable处理同一资源也无法保证 这个资源 从加载 更改 到赋值的原子性

最新回答 / 子龙007
某个线程出现等待被另外线程抢先运行

已采纳回答 / 简简单单ap
os.write(("\r\nword"+count).getBytes());你应该这么写啊,你少写了一对括号

已采纳回答 / 内涵Naruto
MyThread mt=new MyThread(); Thread td1=new Thread(mt,"售票口1"); Thread td2=new Thread(mt,"售票口2"); Thread td3=new Thread(mt,"售票口3");说的是火车票,但是要通过实现Runnable接口,这样才能真正意义的使其成为同一资源,如果是继承Thread类,创建三次,就不是同一资源了,变成了15张票,就不算是同一资源了,是各自独立的资源,我是这样理解的
课程须知
学习本课程前,你需要熟练掌握Java的基础语法,熟悉Java中创建线程的两种方式,熟悉Java多线程中常用的一些方法。
老师告诉你能学到什么?
1、多线程创建方式的比较和选择 2、线程的生命周期、守护线程

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消