• 第6 章 多线程程序设计答案


    一.选择题

    1.A   2.C   3.A   4.C   5.D   6.B   7.A   8.D   9 . C   10.B   11.C

    二.填空题

    1.  多线程     2.  操纵程序的数据          3. 被停止       4.  java.lang.Thread      5.  Runnable

    6.  并行   7.  线程体      8. 可运行状态       9. 并发    10. 寄存器     11. yield()      12.1, 10 ,任务越紧急        13. 临界资源, 临界代码    14.同步,互斥        15.  run(),start()

    三. 简答题

    1. (1) 定义类来实现Runnable接口
    class TestThread implements Runnable {
         public void run() { …}
    }

    (2)继承Thread类来实现
    class TestThread extends Thread {
        TestThread(String name) {
            super(name);
            start();
    }
    public void run() {…}

    }

    2.异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

    3. final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
    finally是异常处理语句结构的一部分,表示总是执行。
    finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

    4. sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

    5.启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。

    四.程序阅读题

    1. 新建状态、可运行状态、阻塞状态、终止状态

  • 相关阅读:
    为什么说Java不适合做游戏开发,劣势在哪里?
    Docker【部署 05】docker使用tensorflow-gpu安装及调用GPU踩坑记录
    3.蓝牙模块HC-08
    《白帽子讲web安全》
    NumPy数组与矩阵(一)
    利其器(1)——配置idea快捷键与常用快捷键的使用
    预估市场过万亿,“即时零售”到底是什么来头?
    Fooocus框架代码分析
    csa从初阶到大牛(练习题2-查询)
    [QCM6125][Android13] 大屏显示时任务栏以及虚拟按键靠右问题
  • 原文地址:https://blog.csdn.net/qq_40086702/article/details/125410692