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

细说多线程之Thread VS Runnable

难度初级
时长 1小时 0分
学习人数
综合评分9.63
171人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
为啥不把票数设置成 static变量
赶脚更清晰了 谢谢老师!!!!!!
3个窗口卖了15张票,难不成有黄牛。。。
老师在深圳,暴露了。。。
出现
窗口1卖了1张票,剩余票数为:3
窗口1卖了1张票,剩余票数为:1
窗口1卖了1张票,剩余票数为:0
窗口3卖了1张票,剩余票数为:2
窗口2卖了1张票,剩余票数为:3
因为System.out.println();打印了已经被其他线程的ticketsCont

可以写成
int current = --ticketsCont;
System.out.println(Thread.currentThread().getName() + "卖了一张票,剩余票数为" + current);
daemon 滴门
一直不知道Runnable是资源共享的,今天才发现,谢谢老师。。。
OutputStream os = new FileOutputStream(fileName,true);这句报错了,不能从FileOutputStream转换成OutputStream,为何老师的不报错呢?
调用了start方法之后,线程会进入可运行状态(runnable),这时候如果能够抢到cpu时间片,就会执行run方法中的代码.这就意味着执行start方法后,该线程不一定就运行了,是否运行取决于cpu的调度。这是我的理解,希望能对你有所启发。
很好,期待续集
不对啊 窗口1都没有让出cpu资源 怎么会让了? 不是会执行完吗?
期待高并发编程
分明是CPU执行速度太快,在窗口2获取到执行资格时,瞬间就将这个5张票执行完了,导致其他线程获取执行资格时,发现没票可卖了。
课程须知
学习本课程前,你需要熟练掌握Java的基础语法,熟悉Java中创建线程的两种方式,熟悉Java多线程中常用的一些方法。
老师告诉你能学到什么?
1、多线程创建方式的比较和选择 2、线程的生命周期、守护线程

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消