• 201874040116-李鑫《面向对象程序设计(java)》第十六周学习总结


    项目

    内容

    这个作业属于哪个课程

    https://www.cnblogs.com/nwnu-daizh/

    这个作业的要求在哪里

    https://www.cnblogs.com/nwnu-daizh/p/12031970.html

    作业学习目标

              

                (1) 掌握Java应用程序的打包操作;

                (2) 掌握线程概念;

                (3) 掌握线程创建的两种技术。

    第一部分:总结教材14.1-14.3知识内容(20分)

       多任务(multitasking):在同一刻运行多个程序的能力

      通常,一个任务被称为一个线程(thread)  可以同时运行多个线程的程序称为多线程程序(multithreaded)。进程与线程不同。

      控制线程的类: Thread

      Thread(Runnable target) 构造一个新线程,用于调用给定目标的run()方法。 

      void sleep() 方法用于暂停 毫秒单位时间 当前线程。 

      void start()  启动当前线程,将引发调用run()方法。

      interrupt 线程对象调用interrupt函数后,相当于添加了一个标记,线程执行的时候使用isInterruptted方法判断是否有标记,有则中断线程,无则继续执行

     

      线程有  New(新创建),Runnable(可运行),Blocked(被阻塞),Wait(等待),Timed waiting(记时等待),Terminated(被终止) 六种状态。

    第二部分:实验部分

    实验1:测试程序1(10分)

    package resource;
    
    import java.awt.*;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import javax.swing.*;
    
    /**
     * @version 1.41 2015-06-12
     * @author Cay Horstmann
     */
    public class ResourceTest
    {
       public static void main(String[] args)
       {
          EventQueue.invokeLater(() -> {
             JFrame frame = new ResourceTestFrame();
             frame.setTitle("ResourceTest");
             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             frame.setVisible(true);
          });
       }
    }
    
    /**
     * 一个加载图像和文本资源的框架。
     */
    class ResourceTestFrame extends JFrame
    {
       private static final int DEFAULT_WIDTH = 300;
       private static final int DEFAULT_HEIGHT = 300;
    
       public ResourceTestFrame()
       {
          setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
          
          //在找到ResourceTest类的地方查找about.gif文件
          URL aboutURL = getClass().getResource("about.gif");
          
          //将此图像设置为框架的图标
          Image img = new ImageIcon(aboutURL).getImage();
          setIconImage(img);
    
          JTextArea textArea = new JTextArea();
          
          //getResourceAsStream方法的作用是找到与类位于同一位置的资源,返回一个可以加载资源的URL或者输入流
          InputStream stream = getClass().getResourceAsStream("about.txt");
          
          //在读取文本时使用同一编码UTF-8
          try (Scanner in = new Scanner(stream, "UTF-8"))
          {
             while (in.hasNext())
                textArea.append(in.nextLine() + "
    ");
          }
          add(textArea);
       }
    }

     

    实验1:测试程序2(10分)

     

    实验1:测试程序3(10分)

     

    前一个程序只在球运动了完整一圈后才能停止,也不能同时出现多个球,而后一个程序既能随时停止,也能同时出现多个球。

    实验2:结对编程练习包含以下4部分:(该项17周实验课现场检查评分:30分)

    1)   程序设计思路简述;

    2)   符合编程规范的程序代码;

    3)   程序运行功能界面截图;

    实验总结:(15分)

        这次的实验让我了解了部署java程序的方法 和 实现多线程程序的基本知识以及多线程程序相较单线程程序的优势。

  • 相关阅读:
    Nginx log日志参数详解
    sea.js模块加载工具
    sea.js模块加载工具
    Airbnb React/JSX 编码规范
    4.2 react patterns(转)
    4.1 react 代码规范
    3.5 compose redux sages
    3.3 理解 Redux 中间件(转)
    3.4 redux 异步
    3.1 开始使用 redux
  • 原文地址:https://www.cnblogs.com/whitepaint/p/12050705.html
Copyright © 2020-2023  润新知