20165218 2017-2018-1 《Java程序设计》第8周学习总结
教材学习内容总结
第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
-
...