已采纳回答 / 乔小欠儿
Stage的run方法里有armyOfFarmer.join();这句。这句的意思是说农民的run方法执行完了才能往armyOfFarmer.join();这句代码之后运行。但你看看你的ArmyRunnable的run方法里,while (keepRunning)的keepRuning一直是true,...
2015-12-18
已采纳回答 / sxian_wang
不会,主要是这样的:先明白两个概念:锁池和等待池。synchronized是锁池,wait、notify、notifyAll是等待池。等待池的对象是不会竞争锁的,当notifyAll后,等待池中的线程会被唤醒进入到该线程的锁池中重新竞争对象锁,重新获得锁后的对象会从wait后继续执行代码,其他对象会被阻塞,而不是wait。被阻塞的对象会等待下一次被唤醒(notify、notifyAll)。另外,notify不是线程安全的,notifyAll才是。
2015-12-09
已采纳回答 / sxian_wang
其实就是this.getName();这个类是Thread的成员函数,这个方法在Thread中已经实现了,所以在子类中可以直接调用。这两种写法没有本质上的区别,都是指当前对象的xxxx。在实际开发中,加不加this,我没有查到有一种确切结论,更多是个人习惯吧。不过貌似在访问当前对象的属性(变量)的时候一般多用this;而在对象内部调用非静态方法时不用this,直接用函数名调用。
2015-11-30
已采纳回答 / 风拔萝卜
这个要分情况的。如果你是用的实现Runnable类的方式的话可以直接使用this,而如果是使用继承Thread的方式时就不要使用this,因为此时this指向不同对象,这样每个线程都拥有自己的锁,无法实现同步
2015-11-27
已采纳回答 / 转变者
这里不一样的呀!public class ActorCopy extends Threadclass Actress implements Runnable
2015-11-11
已采纳回答 / 天启之魂
如果使用if 那么判断标记后,线程等待然后被唤醒 会直接执行下面的语句,但是可能这时条件是不成立的所以需要重新判断条件 使用while就可以重复判断标记
2015-10-28