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

细说多线程之Thread VS Runnable

难度初级
时长 1小时 0分
学习人数
综合评分9.63
171人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
public void run() {
int i = 0;
while(true){
synchronized(this){
if(piao>0){
piao--;
i++;
System.err.println("剩余车票:"+piao+" "+"出售于"+Thread.currentThread().getName()+" "+"此线程共销售"+i+"张");}else{break;}}}}
synchronized的用法也不宜跟while(tickets>0)需要while(true)你们自己理解下,完整代码如下:
最后一个runnable的例子不是线程安全的,三个线程会同时运行run方法
能不能别动不动就嫌弃老师的声音或者说话方式?你自己的声音到底有多好听说话方式有多man???
讲得很好,例子也很赞
staic变量 数据在任何地方更改都会变化,只要程序还在运行,变量没被销毁的情况下。
至于什么时候继承Thread类或实现Runnable纯粹看应用场合需要扩展的是任务、还是任务执行者、还是任务和执行者。例如在一个多条线程同时执行一个任务,任务有总进度,每条线程除了名称还有执行进度等额外属性的场合,你跟我说继承Thread还是实现Runnable?
什么叫创建线程的两种方式……把线程(对应Thread类实例)和任务(Runnable接口实例)区分开来好吧!启动一个线程去执行任务的过程包括
创建任务-》创建线程-》将任务指定为线程的目标(target)-》启动线程(调用start())来执行任务,
这其中涉及了线程(任务执行者)和任务两类实体,照这里说的创建线程的方式就只有实例化一个Thread类对象一种!
只不过Thread类本身就实现了Runnable接口因此其自身也可以充当一个任务。用继承的方式跑的任务还不是一样对应Runnable实例
赞,比那什么深入浅出多线程清晰多了。深入浅出多线程那个自己YY的场景真心莫名其妙,毫无实用性和代表性
老师讲的不错,真心点赞。。。。。。
学习就行了 屁事咋这么多啊,你那么厉害 不到这边听课了
深入浅出的那个讲的不好
这个比隋唐演义好多了
MyThread mt = new MyThread("火车站窗口");
Thread mt1 = new Thread(mt,"窗口一");
Thread mt2 = new Thread(mt,"窗口二");
Thread mt3 = new Thread(mt,"窗口三");
mt1.start();
mt2.start();
mt3.start();
这样就不会多卖了
每个老师都有不同的讲课风格,而且讲课的内容、难易、方式都不一样,老师只是教授知识,学的怎么样还是要看自己的努力。
课程须知
学习本课程前,你需要熟练掌握Java的基础语法,熟悉Java中创建线程的两种方式,熟悉Java多线程中常用的一些方法。
老师告诉你能学到什么?
1、多线程创建方式的比较和选择 2、线程的生命周期、守护线程

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消