关于多线程的初应用
继很久很久之前写了一个象棋之后,很久都没有碰过代码了,但是游戏还是要做的,接下来想要做的,就是能够多线程控制的游戏,毕竟游戏一次只有一个实体在动,那再做也就只能那样了,所以今天就粗略的学习了一下线程,然后进行一些简单的应用
以往我们写的单线程,都是要执行完该程序里面所有的语句之后,才能再执行其他的程序,多线程,从我个人的理解来看就是可以同时执行很多程序,但是实际上究竟是怎么一回事我也不求甚解了,毕竟我还是喜欢拿来主义,知道怎么用就好了
好了言归正传,要想使用多线程有两种方法,一种是创建一个类,继承Thread,然后重写里面的run方法,里面写上我们需要执行的代码,一种就是implement一个runnable的接口,然后一样在下面重写run方法,反正结果都是一样的,然后需要执行的时候,我们就实例化这个类,然后调用start函数即可。
理论到此为止,我们现在的目标就是用线程画一个会动的小球,多线程就是多个小球独立运动,至于怎么让小球动起来,无非就是用画笔用背景色把原来的小球涂掉,然后在旁边再画一个,这里就不多赘述,代码如下
public class Thread_Th extends Thread{
//这里继承了Thread类
public void run(){
//这里重写run方法,画一个会动的小球
//di.width 与di.height分别为界面的宽与高
//ball.co为所画小球的颜色ball.R为小球直径
//jp为我们画图的JPanal
//x,y是我们预设鼠标点击的x,y座标
for(int i = x,j = y;(i <= di.width-ball.R)&&(j <= di.height-ball.R);i++,j++){
g.setColor(ball.co);
g.fillOval(i, j, ball.R, ball.R);
try {
Thread.sleep(50)