语言程序设计资料:Java程序设计与应用开发.pptVIP

  • 1
  • 0
  • 约10.06万字
  • 约 399页
  • 2020-12-21 发布于安徽
  • 举报

语言程序设计资料:Java程序设计与应用开发.ppt

9.7 一个实例-1 本小节编写一个程序SimpleBookManager.java,该程序可以向数据库中录入图书信息(图9.7.1)、使用不同方式查询图书信息(图9.7.2)以及删除指定的图书信息((图9.7.3)。 该应用程序中用到了几个打包到edu.njust.cs中的自定义类,如表模型类CustomTableModel.java、布局工具类LayoutUtil.java、字体工具类SetFont.java、数据库工具类SqlUtil.java以及按钮类TextAndPicButton.java。 9.7 一个实例-2 9.7.1数据库 9.7.2布局及功能简介 9.7.3源代码 9.7.1数据库 使用9.2.2小节中所述的运行在MS SQLSERVER上的数据库BookTest,该数据库中只有一张表bookInfo,字段名称和数据类型见表9.2.2。 9.7.2布局及功能简介-1 该应用程序中的主画面包括一个工具条和一个表格: 工具条――包含4个按钮,分别执行不同的功能。 表格――用于显示相关图书记录的信息。 布局――面板p布局为BorderLayout ,工具条置于面板p的NORTH 方位;表格在滚动窗格中(JScrollPane),滚动窗格置于面板p的 CENTER方位;面板p添加到Jframe 的内容窗格(contentPane) 中。 增加――点击“增加”按钮后,会弹出一个图书信息录入对话框。 查询――点击“查询”按钮后,会弹出查询方式选择对话框 。 删除――用户选定表格中的一条记录后,点击“删除”按钮,会弹出确认对话框,用户确认后将删除表格中所选定的图书记录。 9.7.2布局及功能简介-2 图 9.7.1 录入图书信息 9.7.2布局及功能简介-3 图 9.7.2 查询图书信息 9.7.2布局及功能简介-4 图 9.7.3 删除图书信息 9.7.3源代码 具体源代码请参见教材。 第十章 多线程 10.1 什么是线程 10.2 一个简单的例子 10.3定制线程类 10.4线程的生命周期 10.5线程中断 10.6线程的优先级 10.7线程同步 10.1 什么是线程 读者对顺序执行的程序已经非常熟悉,这些程序的共同特点是:有一个程序的开始、一个顺序执行指令序列和一个程序的结束点。也就是说,在程序的运行期间,只有一个单独的执行序列。 线程(Thread)与上面所描述的顺序执行程序非常的相似。一个线程在执行期间同样有一个开始,一个执行序列和一个结束点。线程是在程序中的一个单独的控制流,类似于我们以前介绍的顺序执行程序。但是在这里要特别指出的是单个线程不是一个程序,并不能依靠自身单独执行,它必须在程序中执行。 对于线程,重点是关注多线程的问题。实际上多线程非常的有用,比如说,一个服务器程序应该能同时为多个客户端提供服务;一个浏览器应该能同时浏览多个网页,或能在下载数据的同时浏览其他网页,这些都是典型的多线程的例子。 10.2 一个简单的例子-1 先来看一个我们已经非常熟悉的顺序执行的程序。(源代码请参见教材例10.2.1 ) 在该例子中,类Sequential中定义了一个run方法。run方法进行5次屏幕输出,每次输出前随机睡眠一段时间。可以发现,多次运行该程序,总是输出: AAAAABBBBB 例10.2.1是一个典型的顺序执行程序,由于new equential(“A”).run() 在new Sequential(“B”).run()之前,因此第二个run方法总是在第一个run方法之后执行,因而程序的运行结果是确定的。下面对例10.2.1稍做修改。(源代码请参见教材例10.2.2 ) 10.2 一个简单的例子-2 在MultiThreadExample的main方法中,不是直接调用MyThread的run方法,而是调用start方法: new MyThread(A).start(); new MyThread(B).start(); start方法启动一个线程,当线程被调度时,其中的run会被执行。 运行例10.2.2可以发现,每次运行都可能得到不同的结果,下面给出我们三次运行结果: BABAAABBAB BBABBBAAAA ABBBAABBAA !注意,你在运行时完全有可能得到不同的结果。 仔细观察一下程序的输出,可以发现线程A和B是交替执行的,称之为线程并发(concurrence)。 10.3定制线程类 通过阅读上一小节,可以发现:实现线程,最重要的是实现其中的run方法,run方法决定了线程所做的工作。 可以使用两种方法来为定制线程类提供run方法: 10.3.1继承

文档评论(0)

1亿VIP精品文档

相关文档