java 多线程的实现方式(一)

本文介绍了Java中实现多线程的两种主要方法:继承Thread类和实现Runnable接口。通过具体的代码示例展示了如何使用这两种方法来创建和启动线程。

前言:实现多线程编程的方式主要有一种是继承 Thread 类,另一种是实现 Runnable 接口。 ----这样说来其实还有其他方式的实现啦,不过其他的方式还不太懂呀

其实Thread类张成这样:public class Thread implements Runnable

呵呵哒:Thread 类实现了 Runnable 接口,它们之间具有多态关系

因此:

1、继承Thread类创建线程:

Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。

缺点:继承 Thread 类的方式创建新线程时,最大的局限就是不支持多继承,因为Java 语言的特点就是单根继承,

过程:启动线程的唯一方法就是:

            1、先通过Thread类的start()实例方法---(这个方法表示:线程已经准备就绪啦)。

            2、start()方法是一个native方法,它将启动一个新线程,并执行run()方法---(表示:线程运行了)。

实现:通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法。例如:

   public class MyThread extends Thread {  
    public void run() {  
        System.out.println("MyThread.run()+这里做自己想干的");  
    }
    }
    public class TestRunThread {
        public static void main(String[] args) {
            MyThread mythread = new MyThread();
            mythread.start();
            System.out.println(" 运行结束! ");
        }
    }

2、实现Runnable接口创建线程

如果自己创建的类已经extends一个父类,就无法直接extends Thread,(java不支持多继承嘛),此时,可以实现一个Runnable接口,如下:

 public class MyThread extends OtherClass implements Runnable {
           public void run() {
                System.out.println("MyThread.run()");
           }
        public static void main(String[] args) {
            MyThread myThread = new MyThread();
            Thread thread = new Thread(myThread);
            thread.start();
        }

        //或者
        public class MyRunnable implements Runnable {
            @Override
            public void run() {
                System.out.println(" 运行中 !");
            }
        }
        public class MyThread extends OtherClass{
            public static void main(String[] args) {
                Runnable runnable=new MyRunnable();
                Thread thread=new Thread(runnable);
                thread.start();
                System.out.println(" 运行结束 !");
            }
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值