java中的线程创建步骤有哪些?java线程创建的几种方式是什么?

大家知道创建线程到底有几种方式?有的人说两种方式、三种方式、四种方式等等不同的说辞。是否知道各个方式创建线程的步骤又有哪些?接下来一起解开疑题。

java线程创建的几种方式是什么?

java多线程的实现方式有4种,分别是继承Thread类、实现Runnable接口、实现Callable接口,从线程池中获取,其中前两种比较常用。一下就是线程创建的详细步骤以及注意的事项:

1.继承Thread类

说明:

调用start方法后并不意味着会立刻执行run方法里面的代码,只是使该线程处于可运行状态了,具体什么时候执行,要由系统来决定。该方式使用的是继承的方式,由于java不支持多继承,所以如果需要继承其他类的时候,就不能使用该方式了。

2.实现Runnable接口

说明:

该方式是实现接口的方式,限制较小,没有第一种方式的继承的问题,所以推荐使用这种方式。

3.Callable+FutureTask

说明:

Callable和Runnable功能差不多,但是相比Runnable来说还是有很多区别的,主要体现在以下3点:

(1)、Callable的call方法有返回值并且可以抛异常,而Runnable的run方法就没有返回值也没有抛异常。

(2)、Callable运行后可以拿到一个Future对象,这个对象表示异步计算结果,可以从通过Future的get方法获取到call方法返回的结果。但要注意调用Future的get方法时,当前线程会阻塞,直到call方法返回结果。

(3)、Runnable是作为线程的构造参数运行的,Callable是作为线程池的submit方法的参数运行的。

4.借助线程池

这种方式就是你通过线程池间接地去创建线程,相当于把创建线程的任务托管给线程池。线程池可以统一管理线程,使得线程调度有序,且利用效率大大提高。

线程池可以通过Executors提供的几个方法来创建,也可以通过ThreadPoolExecutor创建自定义线程池。

我整理了一些java技术资料和面试题集,供大家提升进阶,不管你是要入门学习还是想面试跳槽巩固基础,都可以免费领取一份。

下面展示部分截图,文末附免费下载方式。

第一篇:基础篇

图片

第二篇:JVM 篇

图片

第三篇:多线程 &并发篇

图片

第四篇:Spring 篇

图片

第五篇:MyBatis 篇

图片

第六篇:Spring Boot 篇

图片

第七篇:MySQL 篇

图片

第八篇:Redis 篇

图片

第九篇:Spring Cloud 篇

图片

第十篇:Nginx 篇

图片

第十一篇:MQ 篇

图片

第十二篇:数据结构与算法篇

图片

第十三篇:Linux 篇

图片

第十四篇:简历篇

图片

最后

整份文档一共有将近 200 页,为了不影响大家的阅读体验就只展示了部分内容,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!

需要的小伙伴点击下方名片,扫码免费领取。

猜你喜欢

转载自blog.csdn.net/weixin_45987729/article/details/124900534