1、 1 / 12 * * * * * * * 大大 学学 操操 作作 系系 统统 课课 程程 设设 计计 学生班级学生班级_ 学生学号学生学号_ 学生姓名学生姓名_ _年年 _月月 _日日 2 / 12 一、一、设计要求设计要求 设计目的 掌握进程和线程的概念; 掌握进程进程控制原语或进程控制系统调用的使用; 掌握多道程序设计的基本理论、方法和技术;掌握相关语言进程控制的函数 及 windows 进程控制的 API 函数的使用 设计内容 在 windows 操作系统下,使用的 VC、VB、java 或 C 等编程语言,采用多道 程序设计技术编写一个游戏软件或解决一个简单的实际问题。 设计要求 (
2、1)经调试后程序能够正常运行,并体现多道程序的特点。 (2)采用多进程或多线程方式运行,尽量体现进程间的同步和互斥关系。 二、设计思想二、设计思想 2.12.1 多线程思想:多线程思想:根据设计要求 “在 windows 操作系统下,使用的 VC、 VB、java 或 C 等编程语言,采用多道程序设计技术编写一个游戏软件” “采用 多进程或多线程方式运行” ,本程序使用 Java 语言,编写的是多线程的小游戏。 由于操作系统对于程序的管理是通过这样一种方式,即为每个程序都建立一 个进程,然后通过对进程进行管理从而间接的管理程序。每个进程又可以进一步 细分成多个线程,多线程意味着一个程序的多行语
3、句同时执行。 于是运用多任务 操作系统的这种进程并发机制,我们就可以在程序中加入多线程,每个线程完成 程序的一部分功能,并可以和其他线程并发执行。 并发执行并发执行 多线程进程的并发执行 多线程 多线程进程 2 多线程 多线程进程 1 进程内部并发执行 进程内部并发执行 3 / 12 一个线程在其生命周期内总是处于某种状态: 创建创建: 当一个线程对象被声明并创建后,它处于“创建”状态; 就绪就绪:线程对象调用 start() 方法后,将进入“就绪”状态,处于“就绪”状 态的线程不是立即执行,而是进入就绪队列,等待 CPU; 运行运行:当就绪队列中具有最高优先级的就绪线程被调度并获得 CPU
4、时, 便进入“运行”状态,执行 run() 方法,run 方法中定义了线程的操作和功 能; 非运行:非运行:处于“运行”状态的线程可能因为某些原因 (例如人为挂起)进入 “非运行”状态,让出 CPU 并临时中止自己的执行; 停止:停止:线程完成了它的全部工作或调用 stop() 方法强制中止线程,线程就 进入“停止”状态 于是,利用多线程,就可以在同一时刻运行多个线程,并且设置按钮的监听, 监听事件中运用 start()方法让线程进入就绪队列,或者运用 stop()方法中止 一个线程,或者运行其他事件。 2.2 游戏的思想:游戏的思想:点击窗口内由于多线程和随机数坐标而实现的随机出现位置 不定的按钮,