PTA题集与参考资料
PTA题集:多线程
多线程参考资料
多线程实验所需代码
Java多线程之Executor、ExecutorService、Executors、Callable、Future与FutureTask
在Java程序中操作进程
实验-基础部分
- PTA题目集
- ~~基础题目MyThread类~、PrintTask(讲解线程Thread与任务Runnable相分离的概念)。
- Runnable与匿名内部类。
- 多线程互斥访问。
- 多线程的协作。结合PTA中的题目与课上的生产者消费者问题讲解。
- 线程的停止(Runnable)。
- 程序阅读(先讲解):多线程程序BounceThread。
本例讲解了多线程、图形绘制、MVC模式。请详细研读并修改该代码。迭代改进任务。- 为每个小球设置随机的初始位置、大小、移动速度,这些属性的值可采用一定范围内的随机值。在哪里修改?查询:Random类。
- 为小球填充某种颜色->为每个小球随机填充颜色。提示:查询JDK文档,Graphics类、Color类。1、2为课上考核。
- 如果不仅想生成小球,还想生成其他形状。怎么改?提示:查询Shape接口的实现类。
- 如何改变形状的移动轨迹?
- 如何在鼠标点击处生成某个形状?
- 动态使用不同轨迹,如每生成一个新的小球就随机选择不同的轨迹。注:可以以多态方式实现。思考:是否要新建很多不同的小球类?
- 特别考核:碰撞检测。编写程序让你的多个小球在界面上可以相互碰撞,并改变轨迹。图形绘制及游戏编写(碰撞检测等)详见参考资料。
- 特别考核:为每个小球生成一个线程,当小球逐渐增多时,会带来性能问题。能否不用多线程实现多个小球的移动。
图形绘制参考资料
超星平台资料中的:“课件及参考代码(可选): GUI中的图形程序设计.zip”
游戏编写参考资料:
Java第05次实验提纲(Java图形界面编程)中的1.Java游戏入门1-Java 2D games tutorial与2.Java游戏入门2-南洋理工大学的-Java Game Programming。
实验-高端进阶
- 同步访问
- 交替执行
- 执行器
- Callable与Runnable