假设进程是一条单行道,每次只允许一辆车通过(代码排队按顺序运行)。而线程就是开了多条道路,可以让多辆车同行(让代码段同时运行)。
线程与进程都是由系统来调度的,而协程是由用户来调度的比线程更小级别的。
使用线程的两种方式:1.继承Thread 2.实现Runnable
小球游戏(一个小球对应一个线程)
1.做界面
2.给界面加监听(每点击一次画出一个小球)
3.把小球的信息写到一个类中,将小球类存入一个队列中
4.把要同时运行的代码写到run方法中
5.用start的方法启动线程(注:不是用run方法启动)
还有一些细节:小球下落的太快,要让它sleep一会。画完之后要擦出上一个小球。
小球游戏(多个小球对应一个线程)
这样就不能让小球类继承Thread了,得每次启动一个线程让小球队列中取出多个小球。
画小球,擦出小球,移动小球和小球的碰撞(碰撞后吞噬)各写成一个方法,然后在run方法中调用它们。