JAVA中实现多线程的两种方式

第一种:继承Thread类

package threads;
//通过继承Thread的方式实现线程类
public class ExtendsThread extends Thread {

public void run() {
for(int i=0;i<10;i++){
System.out.println("你好,我是通过继承Thread的线程类"+i);
}
}

public static void main(String[] args) {
new ExtendsThread().start();//启动线程
/**
* 但是大家要明白一个地方,就是在启动这个main方法的时候,相对于这个类
* 而言,其实我们开启了两条线程。一条是main方法,一条是ExtendsThread类的run方法
* 这条线程。通过CUP的切换同时在运行。
*/
for(int i=0;i<10;i++){
System.out.println("我是主函数main的线程"+i);
}
}

}

运行结果:

我是主函数main的线程0
我是主函数main的线程1
我是主函数main的线程2
我是主函数main的线程3
我是主函数main的线程4
你好,我是通过继承Thread的线程类0
你好,我是通过继承Thread的线程类1
你好,我是通过继承Thread的线程类2
我是主函数main的线程5
我是主函数main的线程6
我是主函数main的线程7
我是主函数main的线程8
我是主函数main的线程9
你好,我是通过继承Thread的线程类3
你好,我是通过继承Thread的线程类4
你好,我是通过继承Thread的线程类5
你好,我是通过继承Thread的线程类6
你好,我是通过继承Thread的线程类7
你好,我是通过继承Thread的线程类8
你好,我是通过继承Thread的线程类9

这里的结果不是固定的,根据你自己电脑的性能的不同运行的结果也都是不同的。

但是有一点是可以确定的,他们都是同时运行的两条线程.......这就是多线程的运用吧。

缺点:就是当你要把一个了定义成多线程类是,就不能在继承其他的类了。

第二种方式:实现Runnable接口的方式。

package threads;
//通过实现Runnable接口的形式定义线程类
public class RunnableThread implements Runnable {

public void run() {
for(int i=0;i<10;i++){
System.out.println("你好,我是通过实现Runnable接口的线程类"+i);
}
}

public static void main(String[] args) {
//        new ExtendsThread().start();//继承Thread启动线程的方式
RunnableThread rt = new RunnableThread();//实现Runnable接口的实现方式
Thread t = new Thread(rt);
t.start();

/**
* 但是大家要明白一个地方,就是在启动这个main方法的时候,相对于这个类
* 而言,其实我们开启了两条线程。一条是main方法,一条是RunnableThread类的run方法
* 这条线程。通过CUP的切换同时在运行。
*/
for(int i=0;i<10;i++){
System.out.println("我是主函数main的线程"+i);
}
}
}

结果:

你好,我是通过实现Runnable接口的线程类0
你好,我是通过实现Runnable接口的线程类1
我是主函数main的线程0
我是主函数main的线程1
我是主函数main的线程2
我是主函数main的线程3
我是主函数main的线程4
我是主函数main的线程5
我是主函数main的线程6
我是主函数main的线程7
你好,我是通过实现Runnable接口的线程类2
我是主函数main的线程8
你好,我是通过实现Runnable接口的线程类3
我是主函数main的线程9
你好,我是通过实现Runnable接口的线程类4
你好,我是通过实现Runnable接口的线程类5
你好,我是通过实现Runnable接口的线程类6
你好,我是通过实现Runnable接口的线程类7
你好,我是通过实现Runnable接口的线程类8
你好,我是通过实现Runnable接口的线程类9

这种方式,可以很好的解决了,多继承的问题。

转自:http://javaforyejin.sinaapp.com/?p=74

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值