打字游戏和飞机大战线程GUI--第二十天

来源:互联网 发布:openresty java 编辑:程序博客网 时间:2024/06/01 17:28

如果要创建一个匿名类在{}中写:

new 抽象类/接口

 

 

多线程:

创建线程 

1  线程类 extends Thread{

重写run方法

}

开启:new 线程类().start()

2 线程类 implements Runnable{

重写run方法

}

开启:new Thread(new 线程类()).start()

3 匿名类


1 线程必须依赖进程

2 只有运行的程序才会出现进程

3 进程是系统资源分配和调用的独立的单位,每个进程都有自己的内存空间和系统资源

4 在同一个进程内可以执行多个任务,而每个任务我们把他看做一个线程

5 单线程:程序只有一条执行路径

6 多线程:程序有多条执行路径

7 多线程的好处:提高效率

8 多线程特点:它其实在抢占CPU的执行权,如果进程的线程越多,则抢到的CPU的几率越大  迅雷,卡巴斯基

 

并发:

java.util.ConcurrentModificationException

在多线程中,当我们在对某个集合进行遍历的时候如果对其进行增删该的操作,就可能会触发该异常

改用CopyOnWriteArrayList集合可解决

 

练习:打字游戏

1 积分可+-

2 随着积分的增大或者时间的推移字母的下降速度变快

3 偶尔会出现一些很大的字体

 

 

解决闪屏的问题:双缓冲技术


飞机大战

1 当点击关闭的时候,则弹出对话框询问是否保存

如果点击保存则保存存档  对象流

//保存存档

//地图的y坐标

//敌机集合

//hero英雄

 

2 当运行游戏之前弹出对话框询问是否读取上一次存档,如果确定则读取否则初始化

 

3 gameover的时候请保存你的战绩  字符流

战绩如下:

  \r\n

小天:获得积分xx

小杨:获得积分xx