![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发编程
CleslieCH
这个作者很懒,什么都没留下…
展开
-
java并发读书笔记(1)
第一章 并发编程的挑战一、上下文切换即使是单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片(一般为几十毫秒)实现这个机制。当前任务执行一个时间片后会切换到下一个任务。在切换前会保存上一个任务的状态,以便下次 切换回这个任务时,可以再加载这个任务的状态。任务从保存到再加载的过程就是一次上下文切换。 如何减少上下文切换? 1. 无锁并发编程。多线程竞争锁时,会引起上下文切原创 2017-05-02 10:43:16 · 443 阅读 · 0 评论 -
Java并发读书笔记(二)
第三章 Java内存模型一、基础1、并发的两个关键问题线程间通信和线程间同步线程通信机制:共享内存:隐式通信,显式同步消息传递:显式通信,隐式同步 Java的并发采用的是共享内存模型。2、java内存结构JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存中,每个线程都有一个 私有的本地内存,本地内存中存储了该线程读/写共享变量的副本。 本地内存是JMM的一个抽象概念,并不真原创 2017-05-03 14:09:16 · 452 阅读 · 0 评论 -
java并发读书笔记(三)
第四章 Java并发编程基础一、线程简介使用多线程的原因:1.更多的处理器核心:一个线程在一个时刻只能运行在一个处理器核心上 2.更快的响应时间 3.更好的编程模型 线程优先级:操作系统基本采用时分的形式调度运行的线程,操作系统会分出一个个时间片,线程会分配到若干时间片, 当线程的时间片用完了就会发生线程调度,并等待着下次分配,线程分配到的时间片多少就决定了线程使用 处理器资源的多少。线程的状态原创 2017-05-04 21:44:27 · 353 阅读 · 0 评论 -
Java并发读书笔记(四)
第四章 Java并发编程基础一、线程简介使用多线程的原因:1.更多的处理器核心:一个线程在一个时刻只能运行在一个处理器核心上 2.更快的响应时间 3.更好的编程模型 线程优先级:操作系统基本采用时分的形式调度运行的线程,操作系统会分出一个个时间片,线程会分配到若干时间片, 当线程的时间片用完了就会发生线程调度,并等待着下次分配,线程分配到的时间片多少就决定了线程使用 处理器资源的多少。线程的状态原创 2017-05-19 16:58:10 · 336 阅读 · 0 评论 -
Java并发读书笔记(五)
第六章 Java并发容器和框架一、ConcurrentHashMap1.为什么使用:HashMap不安全,HashTable效率低 这边得上网查 HashMap:并发执行put操作时会引起死循环,因为多线程会导致HashMap的Entry链表形成环形数据结构,Entry 的next节点永远不为空,就会产生死循环获取EntryHashTable:HashTable使用synchronized来保原创 2017-05-21 22:21:09 · 317 阅读 · 0 评论