《Java程序设计》第8周学习总结 20165218 2017-2018-1

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

  • ...

参考资料

原文地址:https://www.cnblogs.com/zicerain/p/8907856.html