java多线程
线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元。线程是进程中一个独立的运行单元,当程序中需要同时处理多个任务时,就要用到多线程来新建线程执行独立的任务。
java有三种方法来创建线程,实现Runnable接口(注意由于Runnable接口没有start方法,要启动线程需要将创建的对象转换为Thread类的对象),继承Thread类以及通过 Callable 和 Future 创建。
简单球动画的实现
首先我们的目标是鼠标每次点击窗体便创建一个可以移动的球,每个球独立运动,互不干扰,为此我们每次点击都要新建一个实现球动画的线程
if(graphics==null) {
setg();
}
x=e.getX();
y=e.getY();
ridi=30;
Carton carton=new Carton(x,y,ridi,graphics);
carton.start();
}
1.画一个球。2.改变球心坐标画一个新球。3.将之前的球擦除。4.重复1,2,3.为了使动画效果可见,每次重复1,2,3后都应让程序休眠一段时间,同时为了增加效果,我们还可以对移动方式和颜色进行处理。
while(x<600&&y<700) {
paintCarton1();
changcolor();
changePoint();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void changcolor() {
red+=1;
red%=255;
green+=3;
green%=255;
blue+=1;
blue%=255;
}
private void changePoint() {
x++;
y++;
}
private void paintCarton1() {
graphics.setColor(new TreadUsing().getBackground());
graphics.fillOval(x-ridi-1, y-ridi-1, 2*ridi, 2*ridi);
graphics.setColor(new Color(red, green, blue));
graphics.fillOval(x-ridi, y-ridi, 2*ridi, 2*ridi);
}