Wesley13 Wesley13
4年前
java并发数据结构
一.BlockingDeque阻塞双端队列(线程安全):注意ArrayDeque和LinkedList仅仅扩展了Deque,是非阻塞类型的双端队列。BlockingQueue单向队列,其内部基于ReentrantLockCondition来控制同步和"阻塞"/"唤醒"的时
九鹤 九鹤
4年前
并发编程的基础概念
什么是线程?什么是进程?java可以开启线程吗?不能因为Java无法直接操硬件,他是运行在虚拟机上面的,什么是并发?什么是并行?并发就是多个线程去操作一个资源。并行是多个线程同时行,但是操作的资源不是同一个。线程的六个状态new(诞生)runnable(运行)Blocked(阻塞)waiiiing(等待)Tiemwaiing(超时等待)
Wesley13 Wesley13
4年前
Java并发之AQS详解
一、概述  谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!  类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountD
Wesley13 Wesley13
4年前
Java并发处理锁 Lock
在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java5之后,在 java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面
Wesley13 Wesley13
4年前
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语言基础之并发
Stella981 Stella981
4年前
300 分钟撸一个基于 Redis 亿级用户高并发系统
对于618、双十一、春运抢票这种高并发、大流量的场景一般都会用到缓存抗住大并发,市面上缓存框架用的最多的无疑就是Redis了,Redis作为稳居世界排名第一的KV内存数据库,同时也是最受欢迎的分布式缓存中间件,是应对高并发,大流量,低延迟业务场景的不二选择。面试必问!下面这十几道题都是关于Redis大厂面试被问到的,基本都跟Redis架构设计与底层原
Wesley13 Wesley13
4年前
CPU,并行,并发,多线程
1.CPUI5处理器有四核四线程和四核八线程两种:(1).四核四线程:就是CPU有四个物理核心,每个核心一个时间内只处理一个线程调度,任务管理器中只显示4个CPU图表;(2)四核八线程:使用了超线程技术,把一个物理核心,模拟成两个逻辑核心,任务管理器中会显示8个CPU图表;I7处理器的八核八线程:有八个物理核心可以
Wesley13 Wesley13
4年前
Java并发编程学习教程
一年前由于工作需要从微软技术栈入坑Java,并陆陆续续做了一个Java后台项目,目前在搞ScalaJava混合的后台开发,一直觉得并发编程是所有后台工程师的基本功,所以也学习了小一年Java的并发工具,对整体的并发理解乃至分布式都有一定的提高,所以想和大家分享一下。我的学习路线首先说说学习路线,我一开始是直接上手JCIP(JavaConc
Wesley13 Wesley13
4年前
Java并发编程之:ThreadGroup
线程组ThreadGroup标识一组线程的集合,一旦一个线程归属到一个线程组中,就不能更换其所在的线程组。使用线程组好处:方便统一管理,线程组合一进行复制,快读定位到一个线程,统一进行一场设置等。ThreadGroup并不属于java并发包中的内容,它是java.lang中的内容。基本方法:1.获取当前线程组名:Thread.cu
Wesley13 Wesley13
4年前
Java线程的join操作有什么作用?
计算机为了提升CPU使用效率和交互性而引入了并发机制,任务的执行也抽象成了线程,并发机制让一个CPU能够轮流执行多个线程,从宏观上看多个线程就像是同时执行一样。并发使得线程的执行顺序不容易控制,而实际工程中很多场景都会涉及某个线程需要依赖另外一个或几个线程的执行结果,这就要被依赖的线程需要先执行完,这时就需要join操作。比如下面的场景,假如要计算AB的结