Java Runnable 接口在学习的时候会有不少的问题让我们不能理解,其实只有一个方法 run(),我们声明自己的类实现 Runnable 接口并提供这一方法,将我们的线程代码写入其中,就完成了这一部分的任务。
但是Java Runnable 接口并没有任何对线程的支持,我们还必须创建 Thread 类的实例,这一点通过 Thread 类的构造函数public Thread(Runnable target);来实现。下面是一个例子:
- public class MyThread implements Runnable {
- int count=1, number;
- public MyThread(int num) {
- numnumber = num;
- System.out.println("创建线程 " + number);
- }
- public void run() {
- while(true) {
- System.out.println("线程 " + number + ":计数 " + count);
- if(++count== 6) return;
- }
- }
- public static void main(String args[]) {
- for(int i = 0; i < 5; i++)
- new Thread(new MyThread(i+1)).start();
- }
- }
使用Java Runnable 接口来实现多线程使得我们能够在一个类中包容所有的代码,有利于封装下面让我们一起来研究一下多线程使用中的一些问题。