线程学习笔记(1)
1:线程的五种状态
???? 当一个线程被创建后,调用它的start()方法,使其进入可运行状态。这个线程在运行期间,可能产生3种状结果:线程操作完毕,结束其生命周期;线程由于多种原因,暂停运行。在下一个周期时,又恢复可运行的状态;线程调用等待方法wait(),进入等待状态,知道其他线程调用通知方法notify()或者notifyAll()。使其恢复到可运行状态。
2:继承自Thread 类
Thread thread=new myThread();
thread.start();
class myThread{
public void run(){
//............
}
}
实现Runnable接口
Thread test=new Thread(new MyRunnable());
test.start();
class MyRunnable implements Runnable{
public void run(){
//............
}
}
?
3:线程控制
①:优先 setPriority();
???? 系统预设的线程执行优先权为5.。优先级最低为1,最高为10
②:让步 yield();
????? 只限于优先级相同时才有用
③:睡眠 sleep();
??????使当前运行线程在指定毫秒时间处于暂停运行状态
④:加入 join();
?????? 使调用它的线程插入运行,阻塞当前线程的执行,直到调用它的线程执行完毕。如果调用它的线程是无限循环,其他线程得不到执行。
⑤:中断 interrupt();
???????中断当前正在运行的线程。当一个线程被中断后,将抛出InterruptedException,其isInterruped()的中断状态也将设置为真。
?