Wesley13 Wesley13
3年前
java并发数据结构
一.BlockingDeque阻塞双端队列(线程安全):注意ArrayDeque和LinkedList仅仅扩展了Deque,是非阻塞类型的双端队列。BlockingQueue单向队列,其内部基于ReentrantLockCondition来控制同步和"阻塞"/"唤醒"的时
Wesley13 Wesley13
3年前
java并发神器 AQS(AbstractQueuedSynchronizer)
AbstractQueuedSynchronizerAQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包AQS的核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的
Wesley13 Wesley13
3年前
Java高并发编程四
_做个笔记,java线程常用的方法,耐心看完._编号方法说明1publicvoidstart()使该线程开始执行;Java虚拟机调用该线程的run方法。2publicvoidrun()如果该线程是使用独立的Runnable运行对象构造的,则调用该Runnable对象的run方法;否则,该方
Wesley13 Wesley13
3年前
Java并发(三):重排序
在执行程序时为了提高性能,提高并行度,编译器和处理器常常会对指令做重排序。重排序分三种类型:1.编译器优化的重排序。编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。2.指令级并行的重排序。现代处理器采用了指令级并行技术(InstructionLevelParallelism,ILP)来将多条指令重叠执行。如果不存在数据依
Wesley13 Wesley13
3年前
Java并发编程之Synchronized
引子目前在Java中存在两种锁机制:synchronized和Lock,今天我们先来介绍一下synchronizedsynchronized可以保证方法或代码块在运行时,同一时刻只有一个线程可以进入到临界区,同时它还保证了共享变量的内存可见性。用法Java中的每个对象都可以作为锁。每一个Object类及其子类
Wesley13 Wesley13
3年前
JUC并发编程学习笔记
JUC(并发编程),java.util.concurrent得工具类!image.png(https://uploadimages.jianshu.io/upload_images/8379611bfca9f6c63f253b4.png?imageMogr2/autoorient/strip%7CimageView2/2/w/1240)首先得了
Wesley13 Wesley13
3年前
Go语言基础之并发
转载自https://www.liwenzhou.com/posts/Go/14\_concurrence/(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.liwenzhou.com%2Fposts%2FGo%2F14_concurrence%2F)Go语言基础之并发
Wesley13 Wesley13
3年前
Java并发编程之ConcurrentHashMap
ConcurrentHashMapConcurrentHashMap是一个线程安全的HashTable,它的主要功能是提供了一组和HashTable功能相同但是线程安全的方法。ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashM
Wesley13 Wesley13
3年前
Java并发编程之:ThreadGroup
线程组ThreadGroup标识一组线程的集合,一旦一个线程归属到一个线程组中,就不能更换其所在的线程组。使用线程组好处:方便统一管理,线程组合一进行复制,快读定位到一个线程,统一进行一场设置等。ThreadGroup并不属于java并发包中的内容,它是java.lang中的内容。基本方法:1.获取当前线程组名:Thread.cu
Wesley13 Wesley13
3年前
C++并发编程实战
1\.当把函数对象传入到线程构造函数中时,需要避免“最令人头痛的语法解析”。如果传递了一个临时变量,而不是一个命名的变量;C编译器会将其解析为函数声明,而不是类型对象的定义。例如:classbackground_task{public:voidoperator()()const{d