Titan笔记

  • 首页
  • Java
  • 数据结构
  • C语言
  • Web
  • 杂谈
  • 移动开发
  • 逸笔挥墨
Titan笔记
分享学习,研究与开发的点滴记忆
  1. 首页
  2. Java
  3. 正文

创建和运行线程 - Java并发编程

2021年9月7日 591点热度 1人点赞 0条评论

Java线程启动的方式

Java线程启动有三种基本的方式:Thread类创建线程并启动、使用 Runnable 与 Thread、使用 FutureTask 与 Thread

直接使用Thread类创建线程并启动

new Thread("Direct-Thread") {
    @Override
    public void run() {
        log.info("Hello World By Titan");
    }
}.start();

使用 Runnable 与 Thread

这种方式可以将线程(Thread)与任务(要执行的代码)分开

Runnable runnable = () -> log.info("Hello World By Titan");
Thread t = new Thread(runnable,"Runnable-Thread");
t.start();

使用 FutureTask 与 Thread

FutureTask 能够接收 Callable 类型的参数,用来处理有返回结果的情况

// 创建一个具有Integer返回值的FutureTask对象
FutureTask<Integer> task = new FutureTask<>(() -> {
    log.info("Hello World By Titan");
    return 666;
});
// 创建线程,参数1为任务对象,并启动
Thread t = new Thread(task, "FutureTask-Thread");
t.start();
// 获取结果
Integer result = task.get();
log.info("Future Task Result = {}", result);

 

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: Java并发编程 创建和运行线程 并发编程 线程启动的方式
最后更新:2021年9月7日

Titan

不为岁月流逝蹉跎,不为潮流的势头去附和

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论
最新 热点 随机
最新 热点 随机
Docker配置IPv6容器网络支持 什么是Elastic Stack,ELK的发展历程 K8s中Pod的基本概念 云原生 - 浅谈容器基础与K8S架构设计 腾讯Serverless体验,使用TypeScript编写并部署云函数 Go-Proxy-Checker,一款基于Go编写的高性能代理服务器验证工具
Spring与Mybatis的整合 提问的智慧 [数据结构] 平衡二叉查找树 (AVL树) Spring Cloud 微服务学习笔记 - IDEA工程搭建 [PHP框架] ThinkPHP6 介绍、安装及配置 关于我和Titan笔记
分类
  • Android
  • C语言
  • Elasticsearch
  • Hadoop
  • Hive
  • Java
  • JavaWeb
  • Kubernetes
  • Linux运维之道
  • Mybatis学习笔记
  • Python
  • SpringCloud
  • Web
  • Web前端
  • Web后端
  • 云原生
  • 并发编程
  • 开发工具
  • 数据库
  • 数据结构
  • 杂谈
  • 移动开发
  • 移动测试
  • 诗词歌赋
  • 软件测试
  • 逸笔挥墨
  • 随摘
标签聚合
Apache-Hive Mybatis学习笔记 Java 数据结构 链式存储 二叉树 Python JavaWeb

COPYRIGHT © 2013-2021 Titan. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备20001822号-1

豫公网安备 41010502004418号