多线程
多线程学习
jacobbbbbbbb
一个java学习者的学习笔记
展开
-
Java并发编程艺术学习笔记(六)
Java并发编程艺术学习笔记(六) Java中的并发工具类 CountDownLatch、CyclicBarrier、Semaphore工具提供了一种并发流程控制的手段,Exchanger工具类提供了在线程间交换数据的一种方式。 一.等待多线程完成的CountDownLatch CountDownLatch允许一个或者多个线程等待其他线程完成操作。 一般采用的方法都是采用join()方法,join...原创 2020-02-28 20:32:16 · 151 阅读 · 0 评论 -
Java并发编程艺术学习笔记(五)
Java并发编程艺术学习笔记(五) Java并发容器和框架 Java为开发者也提供了许多开发容器和框架,可以从每节的原理分析来学习其中精妙的并发程序。 一.ConcurrentHashMap的实现原理和使用 Ⅰ.为什么要使用ConcurrentHashMap 在并发编程的时候如果使用HashMap可能会导致程序死循环,但是线程安全的HashTable效率又十分低下。所以需要一个线程安全又高效的Co...原创 2020-02-27 17:09:11 · 144 阅读 · 0 评论 -
Java并发编程艺术学习笔记(四)
Java并发编程艺术学习笔记(四) Java中的锁 主要介绍了Java并发包中关于锁相关的API和组件。 一.Lock接口 在Lock接口出现之前,Java程序是通过synchronized的关键词来实现锁功能的。在JDK5之后并发包中新加入了Lock接口(以及实现类)来实现锁的功能,提供了与synchronized类似的功能,但是可以显式地去获取和释放锁。 synchronized关键词会隐式地...原创 2020-02-26 17:00:21 · 110 阅读 · 0 评论 -
Java并发编程艺术学习笔记(三)
Java并发编程艺术学习笔记(三) Java并发编程基础 java天生就内置了对于多线程的支持,线程作为操作系统调度的最小单位,多线程同时运行可以显著提升程序性能。 一.线程简介 Ⅰ.什么是线程 操作系统运行一个程序时候,会对这个程序创建一个进程。现代操作系统的最小单元是线程,也叫轻量级进程,在一个进程中可以创建多个线程。处理器在这些线程上高速切换,让使用者感觉到这些线程是在同时运行。 Ⅱ.为什么...原创 2020-02-24 19:58:07 · 106 阅读 · 0 评论 -
Java并发编程艺术学习笔记(二)
Java并发编程艺术学习笔记(二) Java内存模型 在《深入理解JVM》中已经学习了一些关于java内存模型的知识,在并发编程中关于java内存模型写的更详细,再做次总结有助于理解深刻。 一.Java内存模型基础 Ⅰ.并发编程模型的两个关键问题 两个关键问题是线程之间如何通信以及线程之间如何同步。 在共享内存的并发模型中,线程之间共享程序的公共状态,通过修改公共状态来隐式通信。 在消息传递的并发...原创 2020-02-23 21:28:26 · 228 阅读 · 0 评论 -
Java并发编程艺术学习笔记(一)
Java并发编程艺术学习笔记(一) 学习了JVM后,在最后引出了内存模型以及并发编程,所以希望接着通过学习《Java并发编程艺术》以及研究jdk8中的源码来搞清楚Java并发的奥秘。这个系列主要会总结下Java并发编程艺术这本书以及粘贴些源码来加深理解。 一.并发编程的挑战 并发编程的好处很多,但是同样的面临着挑战也很多,例如上下文切换、死锁以及软硬件限制等等。 1.上下文切换 单核处理器也可以实...原创 2020-02-22 15:45:01 · 183 阅读 · 0 评论