方式可以用来创建线程

1)继承Thread类

2)实现Runnable接口

3)应用程序可以适用Executor框架来创建线程池

实现了Runnable接口这种方式更受欢迎,因为这不需要继承Thread类。在应用设计中已经继承了别的对象的情况下,这需要多继承,而Java不支持多继承,只能实现接口。同时,线程池也是非常高效的,很容易实现和适用。

举例:

例1:

public class ThreadDemo {public static void main(String[] args) {Runnable task = () -> {try {for(int i = 5; i > 0; i--) {System.out.println("Child Thread: " + i);Thread.sleep(100);}} catch (Exception e) {}System.out.println("child thread exit.");};Thread t1 = new Thread(task);System.out.println("Child Thread: " + t1);t1.start(); try {for(int i = 5; i > 0; i--) {System.out.println("Main Thread: " + i);Thread.sleep(100);}} catch (Exception e) {}System.out.println("Main thread exit.");}
}

例2:

public class ExecutorsTest {public static void main(String[] args) {ExecutorService executor = Executors.newSingleThreadExecutor();Future<String> ft = executor.submit(() -> {System.out.println("Hello Thread!");return "sucess";});try {System.out.println("return : " + ft.get());} catch (Exception e) {e.printStackTrace();}executor.shutdown();}
}

希望对各位正在准备面试的小伙伴有所帮助!


《JAVA面试机经基础篇》 郭屹老师著

百度搜索JAVA面试机经基础篇即可

欢迎搜索关注公众号 爪哇河谷

或添加我的微信 领取更多干货

创建线程的方式_创建线程有几种不同的方式?相关推荐

  1. python两个线程交替打印_三线程按顺序交替打印ABC的四种方法

    建立三个线程A.B.C,A线程打印10次字母A,B线程打印10次字母B,C线程打印10次字母C,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印. 二.Synchroni ...

  2. tcl脚本创建多个进程_创建10个高级脚本

    tcl脚本创建多个进程 在本文中,我们将为您的角色扮演游戏构建一个库存管理系统和笔记脚本,同时研究您PHP脚本的交互性. 我们还构建了一个基于图像的ID卡生成器,并使用PHP来执行图像处理. 我们将创 ...

  3. IntelliJ IDEA for Mac 如何创建普通的Java项目_创建项目_新建项目

    文章目录 创建 Java 新项目的流程 普通 Java 项目结构 Java 项目结构特例讲解 创建 Java 新项目的流程 Create New Project Empty Project (1)选择 ...

  4. python线程异常中断_中断线程

    如果线程需要执行一个长时间任务,就可能需要能中断线程.中断线程就是其他线程给该线程发一个信号,该线程收到信号后结束执行run()方法,使得自身线程能立刻结束运行. 我们举个栗子:假设从网络下载一个10 ...

  5. 多线程的实现方式_一文搞懂Java多线程使用方式、实现原理以及常见面试题

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  6. java定时14点30分_单机定时任务的四种基本实现方式

    引言 在实际项目开发中,定时任务调度是经常会出现的一类需求. 定时任务的场景可以说非常广泛,例如: 购买某些视频网站的会员后,每天给会员送成长值,每月给会员送电影券 在保证最终一致性的场景中,利用定时 ...

  7. 网络资产管理系统_固定资产管理系统的三种网络架构方式

    随着互联网技术的发展和信息技术的广泛使用,固定资产管理系统在各行业的应用越来越普及,固定资产管理系统作为当今主流的企业固定资产信息化管理模式,能够对企业固定资产进行有效管理并提升企业的管理水平.对于固 ...

  8. 创建线程池的四种方式_创建线程到底有几种方式?

    很多时候,在项目中使用线程的情况很少,导致很多人只停想起最常见的两种创建线程的方法,即继承Thread类和实现Runnable接口. 而网络上大家有人认为是三种实现方式,也有人认为是四种实现,下面我们 ...

  9. 手动创建线程池 效果会更好_创建更好的,可访问的焦点效果

    手动创建线程池 效果会更好 Most browsers has their own default, outline style for the :focus psuedo-class. 大多数浏览器 ...

最新文章

  1. 从CPU缓存看缓存的套路
  2. C# WinForm控件、自定义控件整理(大全)
  3. SpringBoot_入门-微服务简介
  4. python用户输入若干个分数_编写一个程序,要求用户输入五个测试分数。与字母grad对应...
  5. fastreport 打印两个list_Smaller And Smarter Python数据结构:合并两个有序链表
  6. 1.0jpa 2.0_EasyCriteria 2.0 – JPA标准应该很容易
  7. Cosmos发起提案计划申请资助实施ATOM全面营销计划
  8. OpenCV中的图像插值示例
  9. 阶段3 2.Spring_06.Spring的新注解_8 spring整合junit完成
  10. 单片机-节日彩灯控制器
  11. 怎么能防止网站被注入eval(base64_decode这种类型的木马?
  12. 银行管理--合规管理(基础概念)
  13. tv端h5_最新版H5双端影视APP源码
  14. 从零开始安卓端相机功能开发(一)了解用什么去开发以及流程
  15. 飞思卡尔imx7 html5,【经验分享】飞思卡尔IMX6处理器的GPIO配置方式
  16. 为什么用了 DDD 以后,代码更难懂了?
  17. Prim算法java实现
  18. 无线自组网AODV路由机制matlab仿真
  19. Oracle——单列函数,多表连接
  20. 基于云桌面的外部设备重定向技术调研

热门文章

  1. 笔记本 cpu 参数
  2. 实体与属性间的划分原则
  3. linux无法访问443端口,linux – 为什么我无法在Ubuntu上ping端口443?
  4. 清华大学《操作系统》(十八):管程于信号量
  5. android中资源文件的两种访问方式,在android开发中进行数据存储与访问的多种方式介绍...
  6. 哈希表思路图解和代码实现
  7. Django中使用ajax技术概述
  8. Django初次体验
  9. Linux中python2和python3的pip设置 及清华安装源
  10. java怎样写入五个人的成绩_用java输入5个学员姓名和分数,显示分数最高的学员姓名和分数?...