教材学习内容总结
第12章 java多线程机制
java中的线程
- 计算机在任何给定时刻只能执行一个线程,多线程机制是指java虚拟机快速地切换线程,使他们轮流执行
-
Thread类及其子类的对象表示线程 - 线程的一个生命周期有新建、运行、中断、死亡四个状态
-
setPriority(int grade)方法调整线程优先级
线程的常用方法
-
start()只有新建状态的线程才可以调用 -
run()没有具体内容,用户程序需要创建自己的Thread类的子类,重写run()方法;执行完毕后,线程死亡 -
sleep(int millsecond)调用使高优先级的线程暂时进入休眠;必须在try-catch中使用 -
isAlive()线程处在新建和死亡状态时,该方法返回false,处在运行状态时,返回true -
currentThread()返回正在使用CPU资源的线程 -
interrupt()用来“吵醒”调用了sleep方法的线程
线程同步
使用synchronized修饰的方法,需遵守同步机制:当一个线程A使用synchronized方法时,其它线程想要使用这个方法就必须等待,直到线程A使用完毕
协调同步的线程
-
wait()方法可以中断线程的执行,暂时让出CPU使用权 -
wait()方法必须用notifyAll()方法唤醒 -
wait()方法、notify()、notifyAll()都是Object类中的final方法,不允许被重写
线程联合
//线程A在使用CPU资源的期间
B.join();
A立刻中断,直到线程B执行完毕
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 错题1
Connection是类名不是方法名
-
错题2
-
...