程序与进程
程序:一段静态的代码。
进程:程序的一次动态执行过程,它对应从代码加载、执行到执行完毕的一个完整过程。
进程与线程
线程是比进程更小的执行单位,它是在一个进程中独立的控制流,即程序内部的控制流。
特点:线程不能独立运行,必须依赖于进程,在进程中运行。
每个程序至少有一个线程称为主线程。
单线程:只有一条线程的进程称为单线程
多线程:有不止一个线程的进程称为多线程
这是利用多线程实现的图片的动态切换
import java.awt.*;
import javax.swing.*;
public class Animal extends JFrame implements Runnable {
JLabel jl = null;
int frame = 0;
ImageIcon[] img = new ImageIcon[8];
public Animal() {
super("");
for (int i = 0; i < img.length; i++) {
img[i] = new ImageIcon("res/" + i + ".jpg");
}
jl = new JLabel(img[0]);
Container c = this.getContentPane();
add(jl);
new Thread(this).start();
this.setSize(500, 600);
this.setVisible(true);
}
public void run() {
while (true) {
jl.setIcon(img[++frame % 8]);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
new Animal();
}
}