20165316 第八周学习总结
Posted treebeard123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20165316 第八周学习总结相关的知识,希望对你有一定的参考价值。
20165316 第八周学习总结
教材学习内容总结
第十二章
- 线程的一个生命周期有新建、运行、中断、死亡四个状态
- 创建线程
- 使用 Thread 的子类:必须 extends Thread,重写 run() 方法。
- 使用 Thread 类:Thread(Runnable target) 。在创建对象时必须向构造方法传递一个实现 Runnable 接口类的实例,该实例对象称作所创建线程的目标对象 (必须重写 run() 方法)。
- setPriority(int grade) 调整线程优先级(grade 1~10 )。
- 线程的常用方法
- start() 只有新建状态的线程才可以调用
- run() 没有具体内容,用户程序需要创建自己的Thread类的子类,重写run()方法;执行完毕后,线程死亡
- sleep(int millsecond)调用使高优先级的线程暂时进入休眠;必须在try-catch中使用
- isAlive() 线程处在新建和死亡状态时,该方法返回false,处在运行状态时,返回true
- currentThread()返回正在使用CPU资源的线程
- interrupt()用来“吵醒”调用了sleep方法的线程
- 线程同步:当一个线程 A 使用 synchronized 方法时,其他线程想使用这个 synchronized 方法时就必须等待,直到线程 A 使用完该方法。
- 协调同步的线程:wait() 方法可以中断线程的执行,使本线程等待,暂时让出 CPU 的使用权,并允许其他线程使用这个同步方法。其他线程如果在使用这个同步方法时不需要等待,那么它使用完这个同步方法的同时,应当用 notifyAll() 方法通知所有等待线程结束等待,遵循“先中断后继续”的原则,notify() 方法仅通知处于等待中的线程的某一个结束等待。
- 线程联合:A 线程中断运行,一直等到它联合的线程 B 执行完毕,A 线程再重新排队等待 CPU 资源,以便恢复运行。
遇见的问题和解决方法
- 忘记添加 Runnable 接口导致 Thread 方法报错。
代码托管
截图如下
上周问题
没有
以上是关于20165316 第八周学习总结的主要内容,如果未能解决你的问题,请参考以下文章