什么是
线程?
线程,是程序执行的最小单位。
什么是进程?
进程,系统进行资源分配和调度的基本单位。
线程和进程的区别是什么?
一个程序至少有一个进程,一个进程至少有一个线程,线程的划分尺度小于进程。
实现线程的两种方法:(摘自百度百科)
1、就是通过继承Thread类的方式时,线程类就无法继承其他的类来实现其他一些功能,实现
接口的方式就没有这中
限制;
2.也是最重要的一点就是,通过实现
Runnable接口的方式可以达到资源共享的效果。
Java 弹球 线程实现[code="package 线程;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public
class GameUI {
private int x;
private int y;
public void initUI(){
JFrame jf=new JFrame();
jf.setTitle("我大木叶村的基情对对碰");
jf.setSize(500, 400);
jf.set
DefaultClose
Operation(3);
jf.setLocationRelativeTo(null);
jf.setLayout(new FlowLayout());
jf.setResizable(false);
ImageIcon ima=new ImageIcon("image/0.jpg");
JLabel imgLabel1=new JLabel(ima);
jf.add(imgLabel1);
jf.setVisible(true);
GameThread gt=new GameThread(jf,10,10);
gt.start();
x=gt.getX();
y=gt.getY();
}
public void paint(Graphics g){
g.setColor(Color.PINK);
// Image ima=new Image("image/2.png");
g.drawOval(x,y, 5, 5);
//g.drawImage(ima, 20, 20, null);
}
public static void main(String[] args) {
GameUI game=new GameUI();
game.initUI();
}
}
"]
线程类
[code="package 线程;
import javax.swing.JFrame;
public class GameThread extends Thread{
private int x,y;
private int movex,movey;
JFrame jf;
public int getX(){
return x;
}
public int getY(){
return y;
}
public GameThread(JFrame jf,int x,int y){
this.jf=jf;
this.x=x;
this.y=y;
}
public void run(){
x+=movex;
y+=movey;
GameThread gt=new GameThread(jf, movex, movey);
gt.start();
// while(true){
jf.paint(jf.getGraphics());
try{
Thread.sleep(100);
}
catch(Exception e){
e.printStackTrace();
// }
}
}
}
"]