Java - 创建线程的三种方式

一. 进程与线程的概念

  1. 进程是操作系统资源分配的最小单位,进程拥有独立的内存单元,进程间不会相互影响,多考虑通信
  2. 线程是 CPU 资源调度的最小单位,一个进程内部有多个线程,多个线程共享父进程的系统资源,线程仅独享指令流执行的必要资源,如寄存器和栈空间
  3. 区别:进程编程调试简单,但是创建和销毁切换开销大;线程开销小,切换速度快,但是编程层面相对复杂

二. 创建线程的三种方法

  1. 继承 Thread 类 --- Thread 类本身也是实现了 Runnable 接口

public class MyThread extends Thread{

    public static void main(String[] args) {
        Thread thread = new Thread(()-> System.out.println("this a thread"));
        thread.start();
    }
}

  2. 实现 Runnable 接口 --- 重写run方法

public class MyRunnable implements Runnable{
    public static void main(String[] args) {
        MyRunnable myRunnable = new MyRunnable();
        myRunnable.run();
    }

    @Override
    public void run() {
        System.out.println("this a thread");
    }
}

  3. 实现 Callable 接口 --- 重写call方法

public class MyCallable implements Callable{
    public static void main(String[] args) throws Exception {

        MyCallable myCallable = new MyCallable();
        myCallable.call();
    }

    @Override
    public Object call() throws Exception {
        System.out.println("this a thread");
        return null;
    }
}

4. 实现 Runnable 接口和实现 Callable 接口的区别

        1)Runnable 接口的调用方法叫 run 方法;Callable 接口的调用方法叫 call 方法

        2)Runnable 接口无返回值;Callable 接口有返回值

        3)Runnable 接口没有抛异常;Callable 接口有抛异常

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值