zoukankan      html  css  js  c++  java
  • JavaSE习题 第八章 线程

    问答题

    1.线程和进程是什么关系?

      进程是程序的一次动态执行,对应了从代码加载,执行至执行完毕的一个完整的过程

      线程是比进程更小的执行单位,一个进程在其执行过程中可以产生多个线程,形成多条执行线索

    2.线程有几种状态?

      4种,新建,运行,中断,死亡

    3.引起线程中断的常见原因是什么?

      1.执行了sleep

      2.执行了wait

      3.cpu资源切换给其他线程

      4.进入阻塞状态

    4.一个线程执行完run方法后进行了什么状态?该线程还能调用start方法吗?

      死亡状态,不能

    5.线程在什么状态,调用isAlive返回false

      死亡状态

    6.线程调用interrupt作用是什么?

      吵醒休眠的线程

    7.将第8-11中的synchronized去掉,重新编译,观察运行结果

      会出现重复

    8.wait(),notify(),notifyAll()的作用

      使线程进入挂起状态(sleep的时间不确定)

      唤醒一个挂起状态的线程

      唤醒所有挂起状态的线程

    9.TicketSeller中的循环条件while(fiveNumber<1)换成if(fiveNumber<1)可行嘛

      不可行,while会循环,if只能判断1次,可能会进行连续等待状态

    10.TicketSeller类中出现的 wait改成sleep(2000)重新编译,观察运行结果

    11.什么叫守护线程?

    thread.setDaemon(true),则该线程为非守护线程

    守护线程是在其他线程都运行完毕后立即中断,那么,该线程为守护线程(守护线程不稳定)

    作业题

    1.上机调试8-1观察结果是否相同

    package cn.littlepage.game;
    
    public class Test2 {
        public static void main(String[] args) {
            WriteWordThread zhang, wang;
            zhang = new WriteWordThread("");
            wang = new WriteWordThread("");
            zhang.start();
            for (int i = 0; i <= 80; i++) {
                System.out.println("我是主线程的语句");
            }
            wang.start();
    
        }
    }
    
    class WriteWordThread extends Thread {
        WriteWordThread(String s) {
            setName(s);
        }
    
        public void run() {
            for (int i = 1; i <= 80; i++) {
                System.out.println("我是一个线程,名字是" + getName());
            }
        }
    }

    不相同

    2.上机调试8-2,编写3个线程,分别在命令行窗口输出信息//和第一题差不多

    3.模仿8-4,编写3个线程,使他们有更多的共享单元//使用implements runnable和第一题差不多,共享单元是new Thread(传进同一个Thread的子类)

    4.模仿8-12,编写5个人同时买票,并规定卖票规则和排队顺序  

  • 相关阅读:
    Java实现 LeetCode 179 最大数
    Java实现 LeetCode 179 最大数
    Java实现 LeetCode 179 最大数
    SQL Server实现 LeetCode 178 分数排名
    SQL Server实现 LeetCode 178 分数排名
    SQL Server实现 LeetCode 178 分数排名
    开源免费的C/C++网络库(c/c++ sockets library)
    C++开源跨平台类库集
    动态链接库中分配内存引起的问题-- windows已在XX.exe中触发一个断点
    SDL 简介
  • 原文地址:https://www.cnblogs.com/littlepage/p/9902993.html
Copyright © 2011-2022 走看看