20175334 《Java程序设计》第十周学习总结
教材学习内容总结
第十二章
- 进程与线程
- 进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程
- 线程是比进程更小的执行单位,一个进程在执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念
- 线程
- 多线程机制
- 一个应用程序中同时存在几个执行体,按几条不同的执行线索共同工作的情况,它使得编程人员可以很方便地开发出具有多线程功能、能同时处理多个任务的功能强大的应用程序
- 主线程
- 负责执行
main
方法
- 负责执行
- 线程的状态与生命周期
- 用
Thread
类及其子类的对象来表示线程 - 完整的生命周期:新建、运行、中断、死亡
- 用
- 线程调度与优先级0
- 线程的优先级可以通过
setPriority(int grade)
方法调整,该方法需要一个int
类型参数,如果参数不在1-10的范围内,那么setPriority
便产生一个IllegalArgumenException
异常,getPriority
方法返回线程的优先级
- 线程的优先级可以通过
- 多线程机制
Thread
类与线程的创建- 编写
Thread
类的子类时,需要重写父类的run()
方法 Thread
类的子类不能再扩展其他的类- 用
Thread
创建线程通常使用Thread(Runnable target)
- 目标对象与线程的关系
- 目标对象和线程完全解耦
- 目标对象组合线程(弱耦合)
- 编写
- 线程的常用方法
start()
- 启动线程
run()
- 用来定义线程对象被调度之后所执行的操作
sleep(int millsecond)
- 优先级高的线程可以在它的
run()
方法中调用此方法来使自己放弃CPU
资源,休眠一段时间
- 优先级高的线程可以在它的
isAlive()
- 线程处于新建状态时,线程调用此方法返回
false
;在没有进入死亡状态之前,线程调用该方法返回true
,进入死亡状态后,返回false
- 线程处于新建状态时,线程调用此方法返回
currentThread()
- 该方法返回当前正在使用
CPU
资源的线程
- 该方法返回当前正在使用
interrupt()
- 结束休眠,重新排队等待
CPU
资源
- 结束休眠,重新排队等待
- 线程同步
- 若干个线程都需要使用一个
synchronized(同步)
修饰的方法,即程序中的若干个线程都需要使用一个方法,而这个方法用synchronized
给予了修饰,多个线程调用synchronized
方法必须遵守同步机制 - 线程同步机制:当一个线程使用
synchronized
方法时,其他线程想使用这个synchronized
方法时就必须等待,直到前一个线程使用完该synchronized
方法
- 若干个线程都需要使用一个
- 协调同步的线程
- 线程联合
GUI
线程- 计时器线程
- 守护线程
代码托管
学习心得
- 本章内容有点多,而且不易理解,需要后面反过来复习,慢慢消化