一、基本知识点
1、Thread只有调用start才会创建一个新的执行线程,仅仅调用run,只是执行代码
2、当所有的非守护线程运行结束时,或者其中一个线程调用了System.exit()方法时,这个Java程序才运行结束。
3、sleep方法让出CPU,当休眠时间结束之后,JVM再分配给它CPU时钟,线程继续执行;yield()方法只是通知JVM说这个线程对象可以释放CPU了,JVM并不保证遵循这个要求,通常yield只用来调试用。
4、守护进程一般应用启动的时就启动,应用关闭时终止,线程优先级最低。
二、基本方法
1、中断
Thread类有一个表明线程被中断与否的属性,存的是布尔值,当interrupt()方法被调用的时候,被置为true,当interrupted()方法被调用时,被置为false,isInterrupted()方法只是返回这个属性的值。
2、休眠
sleep方法让出CPU,当休眠时间结束之后,JVM再分配给它CPU时钟,线程继续执行;yield()方法只是通知JVM说这个线程对象可以释放CPU了,JVM并不保证遵循这个要求,通常yield只用来调试用。
3、等待完成
当一个线程对象的join()方法被调用时,调用它的线程将被挂起,直到这个线程对象完成它的任务。