线程的三种创建方式你get了吗?

简介: 线程的三种创建方式你get了吗?

备战2022春招或暑期实习,祝大家每天进步亿点点!Java并发编程Day4

本篇总结的是 如何在Java中避免创建不必要的对象,后续会每日更新~

关于《我们一起学Redis》、《我们一起学HarmonyOS》等知识点可以查看我的往期博客

相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!image.png目录

1、Thread

2、Runnable和Thread

3、Callable和Thread

4、三者对比

5、注意项


1、Thread

继承Thread类,并重写run方法image.pngimage.pngimage.pngimage.pngimage.png4、三者对比

创建线程的方式有三种,Thread、Runnable+Thread、Callable+FutureTask+Thread;这三者如何选择呢?


首先在实际的开发过程中,我们不会直接创建线程,因为频繁创建和销毁线程开销比较大,此外不利于管理和释放,因此项目中都是通过设计线程池来管理线程资源

Thread、Runnable+Thread相比,Runnable+Thread将线程的创建和任务模块解耦了,代码设计更加灵活,此外更加利于任务的提交,更方便和线程池结合使用

Callable+FutureTask+Thread适用于需要获取线程返回结果的场景

5、注意项

文中多次使用thread.start();需要注意的是,调用线程的start()方法表示启动线程,但是线程是否执行并不确定,这需要操作系统调度,线程分配到CPU执行时间片才能执行。多核CPU下多个线程同时启动,线程之间交替执行,执行顺序是不确定的。


image.png

目录
相关文章
|
16天前
线程创建的三大方式
线程创建的三大方式
16 0
|
4月前
|
缓存 Java
线程的四种创建方式
线程的四种创建方式
|
4月前
线程间的同步的方式有哪些
线程间的同步的方式有哪些
|
4月前
|
Java API 调度
Java多线程基础(线程与进程的区别,线程的创建方式及常用api,线程的状态)
Java多线程基础(线程与进程的区别,线程的创建方式及常用api,线程的状态)
55 0
Java多线程基础(线程与进程的区别,线程的创建方式及常用api,线程的状态)
|
5月前
|
存储 安全 Java
线程池的7种创建方式(二)
线程池的7种创建方式
|
5月前
|
缓存 Java
线程池的7种创建方式(一)
线程池的7种创建方式
111 0
|
7月前
|
Java API 调度
线程的创建和使用
线程的创建和使用
31 0
|
8月前
|
Java
创建多线程的方式四:使用线程池
创建多线程的方式四:使用线程池
38 0
|
11月前
|
C++
线程的2种创建方式
当一个类继承了Thread类,该类就可以当作线程使用。 run方法其实是一个普通方法,是Runnable接口的一个方法。 Thread类也是进行了重写。 真正实现多线程的start方法中的start0方法。 这是一个本地native方法,由c/c++实现。
61 0
|
11月前
|
Java
线程和进程概念区别—及线程常用方法和状态
进程和线程是操作系统中的两个基本概念。 进程是程序执行的基本单位,每个进程都有自己独立的内存空间和系统资源,它拥有自己的虚拟地址空间、代码段、数据段、堆栈段等。一个程序可以对应多个进程,每个进程之间是独立运行的,互相之间不会影响。
131 0