Java 并发和多线程:初级到中级
学习 Java 多线程并使用 易失性、原子性和同步解决数据和竞争条件
讲师:Kiryl Yesipau
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将学到什么
- 操作系统进程管理的高级概述
- 操作系统线程管理的高级概述
- 进程和线程的根本区别
- 如何使用线程子类化方法定义线程
- 如何通过实现Runnable接口来定义线程
- 线程的不同状态及其生命周期
- 如何使用 start() 方法和 ExecutorService 启动线程
- ExecutorService 重用线程的策略
- 如何通过实现Callable接口来定义线程
- 如何以阻塞和非阻塞方式使用Future接口
- 守护线程的使用
- Thread 的 .join() 和 .interrupt() 方法的功能
- 数据竞争的概念及其细节
- 如何使用“易失性”关键字来避免数据竞争
- 互斥量/内在锁/监视器的概念
- 竞争条件的概念及其细节
- 如何使用“synchronized”关键字在 Java 中实现互斥/监视器获取
- CPU比较和交换指令的概念
- Java 原子包及其与比较和交换的关系的高级概述
- 如何使用 AtomicInteger 类避免算术运算竞争条件
- Java中ThreadLocal类的用法
- 如何获取 JVM 进程的线程转储
- 如何在 Java Streaming API 中使用 .parallelStream() 方法
要求
- 无需并发或多线程经验
- 应安装 Java 版本 1.8 或更高版本
- 需要基本的 Java 编程技能,例如变量定义和 if-else 语句
- 需要理解 Java 中“final”、“static”和“this”关键字的含义
- 需要了解将对象参数传递给 Java 中的方法时的引用传递
描述
了解如何通过 Java 并发和多线程并行计算并避免空闲周期来编写充分利用处理器能力的应用程序。在本课程中,我将通过实际示例介绍多线程和并发背后的概念,并提供实际的编码示例来演示如何使用 JDK 提供的功能。
在本课程结束时,您将:
- 了解操作系统中进程和线程的概念,并能够区分两者。
- 在 Java 中使用 Thread、Runnable 和 Callable 定义线程。
- 熟悉 Java 线程状态和线程生命周期。
- 了解启动线程的不同方法,包括使用 .start()、ExecutorService 和 .parallelStream() 功能。
- 了解 ExecutorService 线程重用策略背后的概念。
- 了解使用 Future 接口的阻塞和非阻塞机制。
- 了解守护线程。
- 能够使用 .join() 和 .interrupt() 线程功能。
- 了解数据争用的概念以及如何使用 volatile 关键字缓解数据争用。
- 熟悉竞争条件概念和缓解竞争条件的互斥策略。
- 了解如何使用synchronized关键字编写Java代码来实现互斥范例。
- 了解比较和交换处理器指令以及它在 Java 原子包中的使用方式。
- 了解何时以及如何使用 AtomicInteger。
- 了解 ThreadLocal 类。
- 能够获取 JVM 进程的线程转储。
本课程适合谁:
- 没有多线程经验的初级 Java 开发人员
- 寻求更深入了解多线程背后的基本概念的中级和高级 Java 开发人员
- 从其他语言切换到 Java 并计划编写多线程代码的开发人员
- 准备初级到中级 Java 多线程面试的专业人士
声明:口袋资源网(koudaizy.com)提供的所有课程、素材等资源全部来源于互联网,赞助VIP仅用于对口袋资源服务器带宽及网站运营等费用支出做支持,从本站下载资源,说明你已同意本条款。