一、JUC的由来 synchronized 关键字是JDK官方人员用C++代码写的,在JDK6以前是重量级锁。Java大牛 Doug Lea对 synchronized 在并发编程条件下的性能表现不满意就自己写了个JUC,以此来提升并发性能,本文要讲的就是JUC并发包下的AbstractQueued ...
分类:
编程语言 时间:
2021-01-07 11:51:41
阅读次数:
0
摘选自:https://www.cnblogs.com/dolphin0520/p/3920373.html volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关 ...
分类:
编程语言 时间:
2021-01-04 11:29:44
阅读次数:
0
代价299元 Java并收编程下阶手艺下机能并收框架源码剖析取真战视频教程 Java视频教程详情描述:A0268《价值299元 Java并发编程高阶技术高性能并发框架源码解析与实战视频教程》什么是Disruptor?它一个高性能的并发编程框架,号称“单线程每秒可处理600W个订单”的神器. 本课程从 ...
分类:
编程语言 时间:
2021-01-02 11:41:16
阅读次数:
0
为什么使用ConcurrentHashMap 在并发编程中使用HashMap可能导致程序死循环,而使用线程安全的HashTable效率又非常低下 线程不安全的HashMap 在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100% 死循环案例: final Hash ...
分类:
其他好文 时间:
2021-01-02 10:53:45
阅读次数:
0
#1.JUC JUC:java.util.concurrent 在并发编程中使用的工具类 java.util.concurrent 并发包 java.util.concurrent.atomic 并发原子包 java.util.concurrent.locks 并发lock包 #2.多线程编程 模板 ...
分类:
编程语言 时间:
2021-01-02 10:50:33
阅读次数:
0
machine 是借鉴了errgroup的一个golang 并发处理包,errgroup 的使用很简单,但是对于异常的处理只能 包含一次结果,不能知道每次 gorroutine 的执行结果,同时machine也扩展了好多特性 比较适合的场景 grpc streaming 服务 websocket 服 ...
分类:
系统相关 时间:
2020-12-24 12:00:19
阅读次数:
0
目录 序言 关于本书 第一章 性能分析 benchmark 基准测试 pprof 性能分析 第二章 常用数据结构 字符串拼接性能及原理 切片(slice)性能及陷阱 for 和 range 的性能比较 反射(reflect)性能 第三章 并发编程 读写锁和互斥锁的性能比较 如何退出协程(超时场景) ...
分类:
编程语言 时间:
2020-12-18 12:57:35
阅读次数:
3
6 Java内存模型基础知识 6.1 并发编程模型的两个关键问题 线程间如何通信?即:线程之间以何种机制来交换信息 线程间如何同步?即:线程以何种机制来控制不同线程间操作发生的相对顺序 有两种并发模型可以解决这两个问题: 消息传递并发模型 共享内存并发模型 这两种模型之间的区别如下表所示: imag ...
分类:
编程语言 时间:
2020-12-09 12:05:39
阅读次数:
7
多进程 macname@MacdeMacBook-Pro Desktop % macname@MacdeMacBook-Pro Desktop % macname@MacdeMacBook-Pro Desktop % python3 test.py main test 0 test 0 test 1 ...
分类:
编程语言 时间:
2020-12-07 11:57:50
阅读次数:
7
并发编程三要素 原子性: 一个不可再被分割的颗粒。原子性指的是一个或多个操作要么全部执行成功要么全部执行失败。 有序性: 程序执行的顺序按照代码的先后顺序执行。(处理器可能会对指令进行重排序) 可见性: 一个县城对共享变量的修改,另一个线程能够立刻看到。 一、原子性 线程切换会带来原子性的问题 in ...
分类:
其他好文 时间:
2020-12-02 12:01:41
阅读次数:
4