Java学习-Java中的线程

本文详细介绍了Java中创建线程的两种方法:继承Thread类和实现Runnable接口。通过实例展示了如何编写和启动线程,并对比了两者之间的优缺点。实现Runnable接口更利于资源复用和多线程执行相同任务,而继承Thread则便于直接创建一次性线程。
摘要由CSDN通过智能技术生成



前言

本文主要介绍一下Java中的线程,以及如何建立一个线程。


一、什么是线程?

首先需要了解进程与线程的概念。
进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间。
线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行,一个进程最少有一个线程。
线程实际上是在进程基础上的进一步划分,一个进程启动后,里面的若干执行路径又可以划分为若干个线程。

二、实现线程方法

1.继承Thread,重写run方法

run方法就是线程要执行的任务方法。
(1)定义线程代码如下(示例):

//定义一个线程类,继承Thread,重写run方法
public class myThread extends Thread {
    @Override
    public void run() {
        //执行任务
        System.out.println("123456");
        
    }
}

(2)开启线程:

public static void main(String[] args) throws IOException, ClassNotFoundException {
        myThread m = new myThread();
        m.start();//线程开启

    }

运行后截图如下:
运行截图
注意:这个执行路径的触发方式,不是调用run方法,而是通过thread对象的start()来启动任务。

2.实现Runnable,重写run方法

(1)先定义一个类,实现Runnable,重写run方法,用于给线程执行的任务,代码如下(示例):

public class myRunnable implements Runnable{
    @Override
    public void run() {
        System.out.println("一二三四五");
    }
}

(2)开启线程,代码如下:

 public static void main(String[] args) throws IOException, ClassNotFoundException {
        //创建一个任务对象
        myRunnable r = new myRunnable();
        //创建一个线程,并分配一个任务
        Thread t = new Thread(r);
        //启动这个线程
        t.start();

    }

运行后截图如下:
运行截图


总结

以上就是实现线程的两种方式,继承Thead和实现Runable.
相比较继承Thread,实现Runable有如下优势:
1.实现Runable通过创建任务,然后给线程分配的方式实现的多线程,更适合多个线程同时执行相同任务的情况;
2.继承Thread是单继承,而实现Runable可以避免单继承所带来的局限性;
3.实现Runable任务和线程本身是分离的,提高了程序的健壮性;
4.在线程池技术中,只接收Runable类型的任务,不接收Thread类型的线程。
但继承Thread,可以采用匿名类不类的方式创建一个一次性线程。比如:

new Thread(){
            @Override
            public void run() {
               //加入要执行的任务
            }
        }.start();

以上就是本次内容,如有错误,请联系交流,感谢!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值