计算机学院大作业
一、 项目设计目的与要求
1.1 项目设计目的
(1)在实践中,强化理解 Java 多线程的概念和实现方法,掌握 Java 多线
程的同步问题。
(2)掌握 Java 多线程结构设计中的基本方法。
(3)理解事件处理机制的基本理念,熟练掌握事件驱动编程的基本方法。
(4)在较复杂工程问题中学习掌握运用多线程技术进行系统设计和实现的
能力。
1.2 项目设计要求
(1)编写一个 Java 或 C#多线程程序模拟乒乓球双打比赛。该问题必须使
用监视器和事件。
(2)详细的功能需求分析和设计思想说明。
(3)对于所使用的数据结构的详细说明。
(4)各模块的算法流程图。
(5)程序运行时操作的详细过程说明。
(6)运行结果的展示和详细说明。
二、 项目设计内容
编写一个 Java 或 C#多线程程序模拟乒乓球双打比赛。该问题必须使用监视
器和事件。假设比赛遵循下面这些简单规则:
(1)有四个选手,A1 和 A2 为一个队,B1 和 B2 为另一个队。A1 首先发球
(启动球),然后 B1、A2、B2 依次开局发球。每一轮中每个选手发六个球。
(2)选手们不改变他们的位置。
(3)比赛期间,双方选手必须轮流发球(用事件定义次序),并且在同一
队中的两个选手可以竞争发球(用 monitor 同步他们)。(监视器)
(4)当轮到某个选手时,他可调用一个 shot(rate)随机函数来模拟该比赛。
如果是给定的概率,该函数返回“in”,如果是用 1 减去给定的概率,则返回