20165232 第八周学习总结

第八周学习总结

教材内容学习

第十二章:JAVA多线程机制
  • 进程与线程
  1. 进程是程序的一次动态执行过程
  2. 线程不是进程,是比进程更小的执行单位,一个进程可产生多个线程
  • JAVA中的线程
  1. JAVA中的多线程机制:多线程指一个应用程序总是从主类的main方法开始执行,发现main方法后,会启动一个线程,这个线程就叫主线程,执行main方法
  2. 线程的状态和生命周期:

(1)新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。

(2)运行 :线程必须调用start()方法(从父类继承的方法)通知JVM,这样JVM就会知道又有一个新一个线程排队等候切换了。一旦轮到它来享用CPU资源时,此线程的就可以脱离创建它的主线程独立开始自己的生命周期了。

(3)中断:
VM将CPU资源从当前线程切换给其他线程,使本线程让出CPU的使用权处于中断状态;线程使用CPU资源期间,执行了sleep(int millsecond)方法,使当前线程进入休眠状;线程使用CPU资源期间,执行了wait()方法;线程使用CPU资源期间,执行某个操作进入阻塞状态。

(4)死亡 :处于死亡状态的线程不具有继续运行的能力。线程释放了实体。

  • 线程同步:在处理线程同步时,要做的第一件事就是要把修改数据的方法用关键字synchronized来修饰。
    所谓线程同步就是若干个线程都需要使用一个synchronized修饰的方法。
  • 协调同步线程
  1. wait() 方法可以中断方法的执行,使本线程等待,暂时让出CPU的使用权,并允许其它线程使用这个同步方法。
  2. notifyAll() 方法通知所有的由于使用这个同步方法而处于等待的线程结束等待。曾中断的线程就会从刚才的中断处继续执行这个同步方法,并遵循“先中断先继续”的原则。
  3. notify() 方法只是通知处于等待中的线程的某一个结束等待。
  • GUI线程:当JAVA程序包含图形用户界面(GUI)时,JAVA虚拟机在运行应用程序时会自动启动更多线程,其中AWT-EventQuecue线程负责处理GUI事件,AWT-Windows线程负责将窗体或组件绘制到桌面。

    代码托管

    image

    学习进度条

    代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
    目标5000行20篇400小时
    第一周13/131/117/17
    第二周408/4082/218/18
    第三周962/9621/122/22
    第四周1350/13501/119/19
    第五周1361/13611/120/20
    第六周2515/25151/120/20
    第七周583/5831/120/20
    第八周973/9731/119/20

转载于:https://www.cnblogs.com/heyanda/p/8899807.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值