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

已采纳回答 / 慕婉清0689395
因为子类重写了父类的run方法,父类对象不能调用子类的重写的run方法;也可以通过父类对象去引用子类对象去实现调用子类的run方法Thread actor = new Threadx();

已采纳回答 / Mad_Man_
wait()方法是让线程释放对象锁,让其他线程拿到锁之后去优先执行,当其他全程唤醒wait()中的线程 或者 拿到对象锁的线程都执行完释放了对象锁之后,wait()中的线程才会再次拿到对象锁从而执行。

已采纳回答 / guolaikankan
Actor actor=new Actor(); 这个是重写了run方法,执行了才有输出内容Thread actor = new Thread()这个可以查看Java Thread 类的源码中run方法的实现,这个简单理解为不继承Thread类重写run方法,就是什么也不干的。

已采纳回答 / qq_小自来也_0
10000 -> 9999.999999999999  这是浮点数精度导致的问题。这段代码我看了,是正确的

已采纳回答 / 田心枫
百度找找  有扫描版本的

已采纳回答 / 田心枫
http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html

已采纳回答 / 小羊杨
Tread的继承对象可以 直接使用getName(),而 Runnable的实现对象需要使用Thread.currentThread().getName()

已采纳回答 / 乱星海
三个方法里至少有一个是notifyAll。假设三个都是notify(),当方法c运行完后,flag为1,此时如果a和b都已经在Wait Set中,且随机唤醒的是b,那么b随机又进入Wait set,c也进入Wait set,此时三个线程全部进入Wait set,造成了死锁。

已采纳回答 / 福山润
代码1:两个线程同时走,他俩公用一个FlagSender对象里面的flag,当线程t1走第一遍时,flag等于false,不等待直接输出,然后将falg致成true,线程t1等待,这时候线程t2 while里面的!f.isFlag() 为false,所以往下进行输出又将flag致成false,这时线程t1又开始执行。以此类推。代码2:两个对象都在while里面进行死循环,所以只打印一次。

已采纳回答 / bbug
java多线程可以近似看成同时执行,不过本质上计算机能同时工作的线程数是有限个的(取决于你的CPU)老师演示的时候农民军和隋军交替结果看起来应该是至少有两个线程是同时工作的。而你这个明显是仅分配给了这个程序一个线程。多线程是为了解决某些应用上需要等待其他的结果(比如浏览器访问一个网址需要等待服务器返回HTML文件才能继续执行显示页面的操作)才能继续执行,那么这段时间cpu可以去执行其他线程的程序。但是如果这个线程可以一口气执行下去的话,中途其他线程是没有办法执行的。-----------------以下是...
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消