• 20165333第八周学习总结


    教材学习内容总结

    第十二章 java多线程机制

    一个进程在其执行过程中,可产生多个线程。线程是比进程更小的执行单位
    JVM保证每个线程都有机会使用CPU资源,等到Java应用程序中的所有线程都结束后才结束应用程序
    线程状态与生命周期

    使用Thread类及其子类的对象表示线程
    调用start()方法将线程加入JVM管理队列。调用以后不能再让线程调用start()方法
    run()方法规定了线程的具体使命。方法执行完毕后线程变成死亡状态。
    -sleep(int millsecond)使线程进入休眠状态。优先级高的线程可让出CPU资源是优先级低的线程执行
    wait()方法使线程进入等待状态。通过notify()方法使线程从中断处继续运行。通常将wait()方法放入“while”的循环语句中

    • 常用方法

    isAlive()用于判断线程是否处于新建状态或进入死亡状态,若是,返回false.
    一个已经运行的线程在没有进入死亡状态时,不要再给线程分配实体
    currentThread()返回当前正在使用CPU资源的线程
    interrupt()用来“吵醒”调用sleep()方法休眠的线程

    • Thread类与线程创建

    编写子类时,需要重写run()方法
    创建线程的构造方法:Thread(Runnable target),参数是Runnable类型的接口,需向接口传递实例对象

    • 线程同步

    线程同步机制:当一个线程使用synchronized方法时,其他线程若想使用就必须使用wait()方法等待,直到该线程使用完该方法
    其他线程在使用同步方法时若不需要等待,则用完方法的同时,执行notifyAll()方法通知所有处于等待状态的线程结束等待
    不可以在非同步方法中使用wait()、notify()、notifyAll()方法

    • 线程联合

    B线程可通过B.join()联合A线程。A线程将立刻中断执行,等到B执行完毕后恢复执行

    • GUI线程

    AWT-EventQuecue线程负责处理GUI事件
    AWT-Windows线程负责将窗体或组件绘制到桌面

    • 计时器线程

    Timer(int a,Object b)创建计时器
    start()启动计时器
    stop()停止计时器
    restart重启计时器

    • 守护线程

    调用void setDaemon(boolean on)方法设置守护线程
    一个线程必须在运行之前设置自己是否是守护线程
    代码托管
    代码截图

  • 相关阅读:
    react深入学习(资料,案例)
    match.exec深入学习
    实用插件表格行列隐藏显示
    下拉选项插件的实现
    表格操作eventTable
    [CentOS7] 挂载iso镜像文件到/media目录下
    [CentOS7] 设置开机启动方式(图形界面或命令行)
    [CentOS7] 磁盘分区(gdisk, fdisk)
    [CentOS7] minimal安装后 出现 没有ifconfig 无法ping 无法yum could not retrieve mirrorlist http://mirrorlist.centos.org/
    [C++]C,C++中使用可变参数
  • 原文地址:https://www.cnblogs.com/challengeeverthing/p/8910455.html
Copyright © 2020-2023  润新知