(1)Java多线程的实现

1.引言

      在学习线程之前,学习一下进程的概念是十分有比较的,那么什么是进程呢?通俗的来讲:进程可以理解为一个应用程序,比如我们打开一个VS软件,或者打开一个myeclipse软件,就产生了一个进程。那么什么是线程呢?线程可以理解为:进程中独立运行的子任务。,一个进程可以由多个线程组成(一个进程至少有一个线程)。进程,应用程序,线程的关系如下图所示:

这里写图片描述

2.Java多线程的实现

2.1 多线程的优缺点

     优点: 为什么要有多线程这种技术呢?我们可以考虑一个场景,一个砖厂有2000块砖头,我们需要将1000块砖头从砖厂A运送到砖厂B,如果我们用一个人来搬砖(一次只能搬十块),可能需要4个小时,但是如果我们需要雇佣10个人来搬砖,速度就要快得多。

     缺点:同样是上面那个例子,多线程我们要注意线程安全问题,比如:多个人来搬砖,如何保证只搬砖1000快,不能多,也不能少。这就要牵扯到线程安全的问题。当然,安全问题也不仅仅是这一个方面,在后面的学习中将渐渐的介绍如何各种安全问题,以及如何避免安全问题。

2.2 多线程的实现

      在Java中我们实现多线程的方法有两种:

  • 继承Thread类
  • 实现Runnable接口

这两个方法之间的关系是:

这里写图片描述

2.3使用 Thread实现多线程技术

  • 首先我们创建一个类(叫做:MyThread):注意要实现run方法

public class MyThread extends Thread{
    @Override
    public void run() {
        System.out.println("MyThread线程启动了");
        super.run();
    }

}
  • 在main方法中使用MyThread线程

public class app {
    public static void main(String[] args) {
        //创建一个线程实例
        MyThread td=new MyThread();
        //启动线程
        td.start();
        System.out.println("main主线程");
    }

}
  • 运行结果
    这里写图片描述

  • 运行结果告诉我们:

    当java应用程序运行之后,默认是有一个线程的,叫做main线程。
    
    我们前面说过进程是一个引用程序,一个进程有多个线程组成,也就是说进程至少有一个线程
    
    上面的程序有两个线程,一个是自定义的线程,一个是main主线程
    
    每一个线程之间的运行顺序是随机的(可以看作是随机的,但是不是完全随机的)。
    

2.4使用 Runnable实现多线程技术

  • 创建一个类,实现Runnable接口,注意要实现run方法


public class MyThread implements Runnable{
    @Override
    public void run() {
        System.out.println("实现了Runnable接口");
    }

}
  • 运行自定义的线程

public class app {
    public static void main(String[] args) {
        //创建一个线程实例,传入我们的接口类
        Thread td=new Thread(new MyThread());
        //启动线程
        td.start();
        System.out.println("main主线程");
    }

}
  • 运行结果

这里写图片描述

  • 结果解释

    要运行实现了接口的线程方法,需要使用Thread类包装一下。即:将类对象传入Thread的构造方法。然后启动该线程
    

3.总结

      在本篇博客中主要介绍了:

  • 什么是进程,什么是线程
  • 线程和进程之间的关系(一个进程至少包含一个线程)
  • 在Java中如何实现多线程的技术。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值