【java】多线程的两种实现

来源:互联网 发布:上海大学网络网址 编辑:程序博客网 时间:2024/05/16 02:42

java中多线程有两种实现方式,一种是继承Thread类,另一种是实现Runnable接口(推荐使用)。下面来介绍这两种方法的使用:

1、继承Thread类

class MyThread extends Thread{    private String ThreadName;    public MyThread(String ThreadName){        this.ThreadName = ThreadName;    }    public void run(){        for(int i = 0;i < 10;i++){            System.out.println(ThreadName + ": " + i);        }    }}public class ThreadDemo{    public static void main(String args[]){        MyThread threadA = new MyThread("A");        MyThread threadB = new MyThread("B");        threadA.start();        threadB.start();    }}

运行结果:
这里写图片描述
如上所示,A、B两个线程交替同步运行,先后由系统调度决定。
要注意要启动线程的时候,不是调用run(),而是调用start()。

2、实现Runnable接口

class MyRunnable implement Runnable{    public void run(){        for(int i = 0 ;i < 10;i++){            System.out.println(Thread.currentThread().getName() + " " + i);        }    }}public class ThreadDemo2{    public static void main(String args[]){        MyRunnable my = new MyRunnable();        new Thread(my,"A").start();        new Thread(my,"B").start();    }}

也能和上面由同样的效果。实际上这种方法同样利用了Thread类。在Thread类中提供了public Thread(Runnable target)和public Thread(Runnable target,String name)两个构造方法。这两个构造方法都可以接收Runnable的对象进行构造,区别是一个可以自己命名,另一个会由系统自动命名。

0 0
原创粉丝点击