最赞回答 / 慕勒3175023
舞台是一个线程1,两个军队是舞台线程过程中发出的线程1.1和1.2, 1与1.1和1.2的进行是相互独立的,1休眠的同时1.1和1.2是还可以进行的,脑海中想想一个画面,一个向下进行的箭头(1)在某一阶段向左伸出了两条新箭头(1.1和1.2),1在向下的同时1.1和1.2也在向左进行,1向下的进行因休眠停止了是不会影响向左的1.1与1.2的进行
2016-07-21
最赞回答 / Duncan_未来终于到来
就好比你去银行取钱(synchronized) 你想取10000块,但是银行只有8000块 你就会在它提供的休息室(wait Set)等待,待其他人执行完业务后会叫你(notify()),你就可以重新去排队竞争取钱,如果竞争到资源就可以再判断此时银行是否有10000块能让你取,如果可以就能顺利执行完临界区的代码,如果不可以就又去到waitSet等待被唤醒...大概就是这么个意思
2016-07-15
已采纳回答 / 小娜子
调用sleep()阻塞当前线程,当其他线程调用interrupt()的时候,sleep()会发生InterriptedException()中断异常,并清除中断状态。System.currenttime - time)<1000是if的判断条件,当这个值小于1000时进入if()代码块执行程序。
2016-07-13
已采纳回答 / _布袋馍_
join()方法是终止其他线程,优先完成本线程。这个代码只有两个线程在竞争CPU。一个进行完不就只剩下一个线程了嘛 没必要在写多余的代码了 如果线程多了 就可以多写几个join()方法了。
2016-07-10
已采纳回答 / krisleo
Thread 是一个类只能继承后,复写run方法后,生成线程类对象调用start方法就可以实现线程的运行。Runnable是一个接口,里面只有一个run方法,只有实现(implement)这个接口后,必须复写run方法才能运行,步骤和Thread是一样的,一般用Runnable比较多
2016-07-07
已采纳回答 / 罗曼蒂轲
cpu的执行时分时的,比如你电脑现在开启了三个程序ABC,。CPU在这三个程序之间不停的切换执行,由于速度很快,你觉得它们是一起执行的,执行ABC不一定是按顺序的,也可能是A>C>A>B>B>B>C>A>B>A,所以会出现随机性的交替执行
2016-07-04
最新回答 / 予远方
肯定是不行的。start方法是开启一个线程的,它会去调用run方法执行线程方法。但是主程序不会因为执行线程方法等待下去,主程序会继续往下执行的。而run方法只是一个普通的方法。假设能够直接调用run方法,那么主程序会跳到run方法中执行,直到run方法执行完毕才会继续往下执行的,这样一来就达不到线程的目的了:提高执行效率了。
2016-06-25