sleep: 当前线程暂停 ```java public class Test {
public static void main(String[] args) {
Thread t1= new Thread(){
public void run(){
int seconds =0;
while(true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.printf("已经玩了LOL %d 秒%n", seconds++);
}
}
};
t1.start();
}
}
- `join` : 在当前执行的代码的主线程插入该线程, 主线程会等待该线程结束完毕, 才会往下运行。
- `setPriority` : 设置优先级, 每一个 Java 线程都有一个优先级,这样有助于操作系统确定线程的调度顺序。Java 线程的优先级是一个整数,其取值范围是 1 (Thread.MIN_PRIORITY ) - 10 (Thread.MAX_PRIORITY )。
默认情况下,每一个线程都会分配一个优先级 NORM_PRIORITY(5)。<br />具有较高优先级的线程对程序更重要,并且应该在低优先级的线程之前分配处理器资源。但是,线程优先级不能保证线程执行的顺序,而且非常依赖于平台。
- `yield` 线程暂停
- `setDeamon` :
```java
t1.setDeamon(true);// 把t1定义为守护线程
守护线程的概念是: 当一个进程里,所有的线程都是守护线程的时候,结束当前进程。就好像一个公司有销售部,生产部这些和业务挂钩的部门。除此之外,还有后勤,行政等这些支持部门。如果一家公司销售部,生产部都解散了,那么只剩下后勤和行政,那么这家公司也可以解散了。守护线程就相当于那些支持部门,如果一个进程只剩下守护线程,那么进程就会自动结束。守护线程通常会被用来做日志,性能统计等工作。
wait
,notify
: 看交互那里.