首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第一章:相关概念
1.1 并发和并行
1.2 进程和线程
1.3 线程调度
1.4 多线程的应用场景
第二章:线程的创建和使用
2.1 概述
2.1 JDK 5之前创建线程的方式
2.1.1 概述
2.1.2 继承 Thread 类
2.1.3 实现 Runnable 接口
2.1.4 继承方式和实现方式的区别
2.2 设置线程名称和获取线程名称
2.3 线程的优先级
第三章:线程安全
3.1 售票程序引出线程安全
3.2 线程安全的原因
3.3 线程安全的解决方法
3.4 JDK 5 之前解决线程安全
3.4.1 概述
3.4.2 同步机制的原理
3.4.3 同步机制中的锁
3.4.4 应用示例
3.5 JDK 5 之后解决线程安全
3.6 死锁
3.7 synchronized 与 Lock 的对比
第四章:线程通信
4.1 为什么需要线程通信?
4.2 等待唤醒机制
4.3 生产者和消费者问题
4.4 sleep() 和 wait() 方法的区别
4.5 生产者和消费者性能问题
4.6 Lock 接口的深入
第五章:单例设计模式
5.1 概述
5.2 单例模式
第六章:线程池
6.1 概述
6.2 线程池相关的API
6.3 实现 Callable 接口
6.4 ThreadPoolExecutor
第七章:线程的生命周期
第八章:volatile 关键字
8.1 概述
8.2 应用示例
第九章:原子性
9.1 概述
9.2 AtomicInteger
9.2.1 常用方法
9.2.2 原理
9.2.3 源码解析
9.3 synchronized 和 CAS 的区别
第十章:并发工具类
10.1 Hashtable
10.2 ConcurrentHashMap
10.3 CountDownLatch
10.4 Semaphore
当前位置:
首页>>
技术小册>>
Java语言基础8-Java多线程
小册名称:Java语言基础8-Java多线程
1.1 并发和并行 - 并行( parallel ):指两个或多个事件在 同一时刻 发生(同时发生)。指在同一时刻,有多条指令在多个处理器上同时执行。 - 并发( concurrency ):指两个或多个事件在 同一个时间段内 发生。指在同一个时刻只能有一条指令执行,但多个进程的指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。 ![](/uploads/images/20230725/a83de7869e79c3b77afb5951bb9366de.png) - 在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单 CPU 系统中,每一时刻只能有一个程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替运行的时间是非常短的。 - 而在多个 CPU 系统中,则这些可以并发执行的程序便可以分配到多个处理器上( CPU ),实现多任务并行执行,即利用每个处理器来处理一个可以并发执行的程序,这样多个程序便可以同时执行。目前电脑市场上说的多核 CPU ,便是多核处理器,核越多, 并行 处理的程序越多,能大大的提高电脑运行的效率。 注意:单核 处理器的计算机肯定是 不能并行 的处理多个任务的,只能是多个任务在单个 CPU 上并发运行。同理,线程也是一样的,从宏观角度上理解线程是并行运行的,但是从微观角度上分析却是串行运行的,即一个线程一个线程的去运行,当系统只有一个 CPU 时,线程会以某种顺序执行多个线程,我们把这种情况称之为线程调度。 - 单核 CPU :只能并发。 - 多核 CPU :并发+并行。 - 例子: - 并行:多项工作一起执行,之后再汇总,例如:泡方便面,电水壶烧水,一边撕调料倒入桶中 - 并发:同一时刻多个线程在访问同一个资源,多个线程对一个点,例如:春运抢票、电商秒杀...
上一篇:
第一章:相关概念
下一篇:
1.2 进程和线程
该分类下的相关小册推荐:
深入拆解 Java 虚拟机
手把手带你学习SpringBoot-零基础到实战
Java高并发秒杀入门与实战
Java语言基础16-JDK8 新特性
Java面试指南
Java语言基础4-数组详解
Java必知必会-Maven初级
JAVA 函数式编程入门与实践
经典设计模式Java版
java源码学习笔记
Java必知必会-JDBC
Java必知必会-Maven高级