idea创建子类没有create subclass_Java源码告诉你多少种方法创建线程

1.继承Thread类

2.实现Runnable接口

还有吗?

3.Callable接口

4.使用线程池

你知道源妈是怎样描述的吗?

打开Thread类源码看看

40d58a89224eeae1ffbc6f42e14116ab.png

原文总结意思大概是:

创建一个新的执行线程有两种方法。一个是将一个类声明为Thread的子类。这个子类应该重写run类的方法Thread 。另一种方法来创建一个线程是声明实现类Runnable接口。那个类然后实现了run方法。然后可以分配类的实例,在创建Thread时作为参数传递,并启动。

Runnable 是接口。

Thread 是类,且实现了Runnable接口。

Callable、ExecutorService、Future都是属于Executor框架,在JUC包下

f8c423ce4ca3262c6c80c64356bbca28.png

执行提交的{@link Runnable}任务的对象

在Linux下Java调用系统线程过程:

1.Java的Thread是通过JNI机制最终调用到了系统底层的pthread_create方法创建线程的

2.Thread的JNI调用链:Thread.java->jvm.cpp->thread.cpp->oslinux.cpp->pthreadcreate

3.实现一个JNI需要4种文件,.java文件,.h头文件(相当于接口),.c或.cpp文件(相当于实现),生成的动态链接库

从使用的角度说,创建线程有多种

从底层实现角度说,只有两种

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值