多线程实现(Thread类)

一、定义
在同一个时间段上,会有很多进程去抢占资源,但是在某一个时间点上,只有一个进程运行
线程和进程是一样的,都必须轮流抢占资源,所以多线程的执行,应该是多个线程彼此交替执行
线程是在进程的基础上进一步划分结果,即一个进程上可以同时创建多个线程
线程是比进程更快的单元,而且多占的资源也小。那么多线程的应用也就是性能最高的应用
线程的存在离不开进程,进程如果消失后,线程一定会消失,反之如果线程消失了,进程不一定消失

二、如果在java中实现多线程有两种途径:
1、继承Thread类;
2、实现Runnable接口(callable接口);

(一)继承Thread类
Thread类是一个支持多线程的功能类,只要有一个子类它就可以实现多线程的支持

//线程操作主类
public class MyThread extends Thread     {}

所有程序的起点是main方法,而线程的起点是run()方法,再多线程的每个主体类之中都必须重写 Thread类中的run方法

public void run() {}

这个方法没有返回值,表示线程一旦开始就要一直执行,不能返回内容,如果直接直接调用了run()方法,不能直接启动多线程,多线程启动方法是Thread类中的start()方法,调用此方法执行的方法体是run()方法定义的

public void start() {}

例子

public class MyThread extends Thread     {
    private String name;
    public MyThread(String name) {
        this.name = name;
    }
    @Override
    public void run() {//重写run方法,作为线程的主体方法
        super.run();
        for(int x = 0 ; x < 200 ; x++) {
            System.out.println(this.name + "-->" + x);
        }
    }


}

public class TestDemo {

    public static void main(String[] args) {
        MyThread mt1 = new MyThread("A线程");
        MyThread mt2 = new MyThread("B线程");
        MyThread mt3 = new MyThread("C线程");
        mt1.start();
        mt2.start();
        mt3.start();

    }

}

此时每一个线程对象交替执行 ,一个线程只能启动一次,即调用一次start()方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值