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

细说多线程之Thread VS Runnable

难度初级
时长 1小时 0分
学习人数
综合评分9.63
171人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
谢谢老师 这么好的分享 赞
不错,很好,易懂
老师讲的普通话有些词语不清晰..............
很不错,谢谢老师,期待数据库基础方面的知识
这节的PPT很精彩!有其是守护的那个动画演示。
非常好,简单易懂
jstack
作用:生成JVM当前时刻线程的快照(threaddump,即当前进程中所有线程的信息)
目的:帮助定位程序问题出现的原因,如长时间停顿,CPU占用率过高等
线程的阻塞状态被解除,通常会有两种情况:1、sleep()方法的timeout时间到了,2、被notify()或者notifyAll()唤醒
File filename=new File("C:"+File.seperator()+"Daemon.txt")
这句才是精华,是跨平台操作
将票数定义成volatite,这样每次售票后,票数减一的结果将会更新到不同的窗口
//1.当类继承thread类创建多个对象的时候不能使用this当做锁的对象,锁不住,(会出现超范围,会出现重复执行)因为每一个this都代表一个对象
//解决方法.1.可以使用 类名.class(字节码对象)
//2.可以使用类实现Runnable接口(只需创建一个类对象)

//1.循环应该写在锁外边,这样会循环锁(这里的锁只是为了变量的同步设立的)
//如果把循环写在了锁里边,当某一条线程得到cpu的执行权时,就会直到循环结束,才释放锁(可是这时其它的线程在得到锁已经没有意义了,因为变量已经不再满足条件 了)
如果变量 加上volatile

已采纳回答 / 地铁时间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年的回答。。。
Thread是类,继承,然后new自定义的类,start方法调用。
Runnable是接口,实现,然后new自定义的类,再new Thread,start方法调用。
娘炮 去哪了!!!111
课程须知
学习本课程前,你需要熟练掌握Java的基础语法,熟悉Java中创建线程的两种方式,熟悉Java多线程中常用的一些方法。
老师告诉你能学到什么?
1、多线程创建方式的比较和选择 2、线程的生命周期、守护线程

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消