1-暂停Thread.sleep(1000); 表示当前线程暂停1000毫秒 ,但不会释放资源,其他线程不受影响
Thread.sleep(1000); 会抛出InterruptedException 中断异常,因为当前线程sleep的时候,有可能被停止,这时就会抛出 InterruptedException
2-join,该线程加入主线程,只有该线程结束时,才会向下走
是说如果之前t1.start,t2.start, try t1.join,两个都start,但是万一t2中有个停止,有个if让他停止了,而唤醒resume再join之后,就只有等t1完了才能执行到那行代码让t2继续
并且t.join,既然之前t在sleep,其他的也得等到,一直到t线程结束
3-线程优先级,让线程的竞争cpu的能力改变
t1.setPriority(Thread.MAX_PRIORITY);
t2.setPriority(Thread.MIN_PRIORITY);
4-临时暂停
Thread t2= new Thread(){
public void run(){
while(!leesin.isDead()){
//临时暂停,使得t1可以占用CPU资源
Thread.yield();
bh.attackHero(leesin);
}
}
};
5-守护线程
相当于后勤,当全部都守护了这个进程就没了
t1.setDaemon(
true
);
t1.start();