另外建议老师即使使用偏门例子,最好首先用几行文字讲清楚业务流程:业务主要是干什么,业务分几大块,流程的具体步骤怎么走等等,这样容易帮助完全不熟悉业务的人搞清楚业务的大致轮廓,而非直接用代码讲流程,听得很晕,因为真的不是人人都清楚变形金刚整天打打杀杀的原则以及规律是什么的
2016-06-24
老师很用心思,只是选择的例子略偏门儿,对我这个变形金刚盲来说,理解整个业务流程,能量这能量那的太头大了,可是不理解这些就无法理解代码是怎么写的,尤其这节代码还比较复杂,为节省时间(实在不想浪费精力去搞清楚变形金刚的世界架构)只好去其他地方寻找tutorial争取搞明白这节的主要关键要点。好遗憾,如果老师选取的例子更通俗大众些,譬如银行,航班之类的,可以令我这类初学者更容易进入角色专注于本章的核心内容
2016-06-24
最赞回答 / FovLegend
写成 Thread actor = new Actor(); 的好处是 直接用 Thread 类对Actor的实例actor进行向上转型,方便后面actor调用Thread类的方法。 你用 Actor actor = new Actor(); 也可以,只是后面再用到Thread的方法时,你还是要把actor转型成Thread。
2016-06-23
最新回答 / 12v8
这个等到后边你学习了同步机制就知道了,实现的方式需要一个this关键字,而继承的时候你在用this的时候,因为创建了多个实例化对象,就不能用this了,涉及到共享数据.共享数据只能有一个.这里给你看个代码望采纳:package com.atguigu.java;//使用实现Runnable接口的方式售票/* * 此程序存在线程的安全问题,打印车票时,会出现重票,错票 * 1.线程安全问题存在的原因? * 由于一个线程在操作共享数据过程中,未执行完毕的情况下,另外的线程参与进来,导致 * 共享数据存在了...
2016-06-23
已采纳回答 / 玄鉴
我感觉是一样的,都是占着锅里的,渴望对方碗里的,还死不想让,结果导致被占着的厕所永远被这两个人占领,其他人都无法正常使用。除非关闭停止运行程序,大家都去睡觉,不然这两个线程将永远处于死锁状态。而且第二天还是有可能再次出现这种情况的,不过概率很小而已。
2016-06-21
已采纳回答 / 风云7857
Thread.sleep()使当前线程在指定的时间处于“非运行”(Not Runnable)状态。线程一直持有对象的监视器。比如一个线程当前在一个同步块或同步方法中,其它线程不能进入该块或方法中。如果另一线程调用了interrupt()方法,它将唤醒那个“睡眠的”线程。注意:sleep()是一个静态方法。这意味着只对当前线程有效,一个常见的错误是调用t.sleep(),(这里的t是一个不同于当前线程的线程)。即便是执行t.sleep(),也是当前线程进入睡眠,而不是t线程。t.suspend()是过时的方...
2016-06-21
已采纳回答 / 风云7857
如下:wait():使一个线程处于等待状态,并且释放所持有的对象的lock;sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常;notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级;notityAll():唤醒所有处于等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让他们竞争。
2016-06-20