Java的自定义线程池 借鉴:https://www.cnblogs.com/nele/p/6502750.html 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系…
标签:并发编程
进程和线程的区别(超详细)
文章目录 进程和线程 进程 线程 进程与线程的区别总结 从 JVM 角度说进程和线程之间的关系(重要) 图解进程和线程的关系 程序计数器为什么是私有的? 虚拟机栈和本地方法栈为什么是私有的? 一句话简单了解堆和方法区 多…
HashMap进行put操作会引起死循环?
HashMap进行put操作会引起死循环? 最近在磕《java并发编程艺术》,在看到第六章的时候出现了下面这段我不是很理解的东西,如下 《java并发编程艺术》截取 为什么要使用ConcurrentHashMap 在并发…
Synchronized与Lock的区别与应用场景
同步代码块,同步方法,或者是用java提供的锁机制,我们可以实现对共享资源变量的同步控制。 技术点: 1、线程与进程: 在开始之前先把进程与线程进行区分一下,一个程序最少需要一个进程,而一个进程最少需要一个线程。关系是线…
实现生产者消费者的三种方式
文章目录 wait/notify的消息通知机制 预备知识 wait/notify消息通知潜在的一些问题 notify过早通知 等待wait的条件发生变化 假死状态 wait/notifyAll实现生产者-消费者 使用Lo…
重排序与数据依赖性
上一篇博客我们了解了Java内存模型,下面我们来了解一下重排序和数据依赖性的相关知识。 文章目录 为什么需要重排序 重排序分类 重排序过程 重排序对多线程的影响 数据依赖性 为什么需要重排序 现在的CPU一般采用流水线来…
原子操作类总结
文章目录 原子操作类简介 预备知识-CAS操作 原子更新基本类型 原子更新数组类型 原子更新引用类型 原子更新字段类型 原子操作类简介 在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量i=1,比…
掉了两根头发,可算是把volatile整明白了
本来想着快过年了偷个懒休息下,没想到被兄弟们连续催更,没办法,博主暖男嘛,掐着人中也要更,兄弟们卷起来 volatile关键字可以说是Java虚拟机提供的最轻量级的同步机制,但对于为什么它只能保证可见性,不保证原子性,它…
使用 C++ 封装互斥量、条件变量
本文使用 C++ RAII 机制来封装互斥量、条件变量,使其自动管理互斥量、条件变量的生命周期,避免手动维护带来的资源泄露等各种问题。本文使用的是 Linux 下 Pthread 库。 互斥量 MutexLock 首先封…
[书籍翻译] 《JavaScript并发编程》第五章 使用Web Workers
本文是我翻译《JavaScript Concurrency》书籍的第五章 使用Web Workers,该书主要以Promises、Generator、Web workers等技术来讲解JavaScript并发编程方面的实…
并发编程导论
并发编程导论是对于分布式计算- 并发编程 https://url.wx-coder.cn/Yagu8 系列的总结与归纳。欢迎关注公众号:某熊的技术之路。 并发编程导论 随着硬件性能的迅猛发展与大数据时代的来临,并发编程日…
Go 译文之竞态检测器 race
作者:Dmitry Vyukov,Andrew Gerrand | Introducing the Go Race Detector 译者前言 第三篇 Go 官方博客译文,主要是关于 Go 内置的竞态条件检测工具。它可以…