![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 86
caoyu019
这个作者很懒,什么都没留下…
展开
-
Java多线程编程实战指南 核心篇 总结-1
1. 多线程的三种实现及java多线程的实现 详解见: https://blog.csdn.net/nalanmingdian/article/details/77748326 java 使用用户线程加轻量级进程混合实现,且采用1对1模型,其中兼顾实现复杂度及跨平台性。 由于仅使用用户线程,则线程相关的调度、切换即CPU映射等复杂操作都需要考虑所以在java 1.2 后就不在使用了, 而...原创 2018-10-25 16:55:38 · 391 阅读 · 0 评论 -
Java多线程编程实战指南 核心篇 总结-2
1. 线程安全性 线程安全性体现在三个方面:1.原子性 2.可见性 3.有序性 原子性: 原子操作是多线程环境下的一个概念,它是针对访问共享变量的操作而言的。 java中有两种方式实现原子性。一种是使用锁。另一种是利用处理器专门提供的CAS(Compare-and-Swap)指令。 它们的差别在于: 锁通常是在软件这一层次实现的, 而CAS是直接在硬件这一层次实现的,它可以被看作“硬件锁”...原创 2018-10-25 18:03:30 · 144 阅读 · 0 评论 -
Java多线程编程实战指南 核心篇 总结-3
线程同步机制 从广义上说,Java平台提供的线程同步机制包括锁、volatile关键字、final关键字和一些相关的API,如Object.wait( )/.notify( )等 锁 定义:锁具有排他性,即一个锁一次只能被一个线程持有。因此,这种锁被称为排他锁或者互斥锁。还有另外一种锁--读写锁,它可以被看作排他锁的一种相对改进。 作用:锁能够保护共享数据以实现线程安全,其作用包括保障原子...原创 2018-10-29 13:16:17 · 135 阅读 · 0 评论 -
Java多线程编程实战指南 核心篇 总结-4
线程间协作等待与通知:wait/notify wait方法:一个线程因其执行目标动作所需的保护条件未满足而被暂停的过程。wait方法继承自Object类(方法修饰符为fianl native,这也解释了为什么condition类中不能重写wait等方法) 阻塞:wait方法的调用都会使当前线程阻塞。该线程将会被放置到对该Object的请求等待队列中,然后让出当前对Object所拥有的对...原创 2018-11-09 18:09:03 · 397 阅读 · 0 评论 -
DelayQueue 基本原理深入分析
DelayQueue是一个无界阻塞队列,队列中元素只有在延迟期满时才能从中提取。在每次往优先级队列中添加元素时以元素的过期时间作为排序条件,最先过期的元素放在优先级最高。 DelayQueue实现的关键主要有如下几个: 可重入锁ReentrantLock 用于阻塞和通知的Condition对象 根据Delay时间排序的优先级队列:PriorityQueue(完全二叉堆) 用于优化阻塞通知...原创 2019-07-30 21:18:19 · 663 阅读 · 0 评论