• 第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. 新建状态、可运行状态、阻塞状态、终止状态

  • 相关阅读:
    Vue 基础
    SpringBoot+Vue项目在线学习网站
    DDD—分层架构、洋葱架构、六边形架构
    Android 回声消除
    猿创征文|一个网站的完整部署流程
    论文精读之 Google_v3,以及其相对于 Google_v1 和 Google_v2_BN 的模型比较
    java split字符串作业
    多功能气象传感器解析
    Mac mov转mp4,详细转换步骤
    java计算机毕业设计双峰县在线房屋租售网站源代码+数据库+系统+lw文档
  • 原文地址:https://blog.csdn.net/qq_40086702/article/details/125410692