
java 并发编程
文章平均质量分 86
tengxvincent
这个作者很懒,什么都没留下…
展开
-
Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
原文出处: 海子在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。以下是本文目录大纲:一.CountDownLatch用法二.CyclicBarrier用法三.Semaphore用法一.CountDownLatch用法CountDownLatch类位于ja...转载 2018-03-12 11:05:40 · 160 阅读 · 0 评论 -
多线程五 线程池 ThreadPoolExecutor
目录什么是线程池线程池的优势Java 中提供的线程池 APIExcutorsThreadpoolExecutor线程池初始化以后做了什么事情newFixedThreadPoolnewCachedThreadPoolnewSingleThreadExecutor线程池原理分析(FixedThreadPool)源码分析execute状...原创 2019-09-12 16:58:19 · 678 阅读 · 0 评论 -
多线程四 JUC的阻塞队列和原子类
目录生产者消费者的实际使用阻塞队列的使用案例注册成功后增加积分J.U.C 中的阻塞队列J.U.C 提供的阻塞队列阻塞队列的操作方法 1. 插入操作 2. 移除操作ArrayBlockingQueue 原理分析1,构造方法2,Add 方法3,offer 方法4,enqueue方法5,put 方法6,take 方...原创 2019-09-10 19:33:53 · 262 阅读 · 0 评论 -
多线程二
对象头对象在jvm中是如何存储的在 Hotspot 虚拟机中,对象在内存中的存储布局,可以分 为三个区域:对象头(Header)、实例数据(Instance Data)、对 齐填充(Padding)每一个Java类,在被JVM加载的时候,JVM会给这个类创建一个instanceKlass,保存在方法区,用来在JVM层表示该Java类。当我们在Java代码中,使用new创建一...原创 2019-08-18 16:57:19 · 154 阅读 · 0 评论 -
JAVA并发编程--上下文切换问题
上下文切换即使是单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现 这个机制。时间片是CPU分配给各个线程的时间,因为时间片非常短,所以CPU通过不停地切 换线程执行,让我们感觉多个线程是同时执行的,时间片一般是几十毫秒(ms)。 CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个 任务。但是,在切换前会保存上一个任务的状态,以便下次切换回这...原创 2018-09-25 15:06:07 · 753 阅读 · 1 评论 -
Java中定时任务的实现:Timer与ScheduledExecutorService的不同
前言在做后台任务的时候经常需要实现各种各种的定时的,周期性的任务。比如每隔一段时间更新一下缓存之类的。通常周期性的任务都可以使用如下方式实现: class MyTimerThread extends Thread { @Override public void run() { while(true) { try { Thread.sleep(60*1000...转载 2018-07-25 15:11:25 · 339 阅读 · 0 评论 -
【Java并发】 - CountDownLatch
概述CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。CountDownLatch 能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。使用一个计数器进行实现。计数器初始值为线程的数量。当每一个线程完成自己任务后,计数器的值就会减一。当计数器的值为0时,表示所有的线程都已经完成了任务,然后在CountDow...原创 2018-07-23 15:44:17 · 109 阅读 · 0 评论 -
理解事务的4种隔离级别
数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。Read uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。事例:老板要给程序员发工资,程序员的...转载 2018-07-09 11:15:19 · 144 阅读 · 0 评论 -
高并发下的限流解决方案
目录限流的目的传输层中的限流基于漏桶(Leaky bucket)与令牌桶(Token bucket)算法的流量控制限流算法的实际应用单机玩法1,SemaPhore2,RateLimiter分布式中的玩法redis+lua:令牌桶算法实现使用延迟队列限流的目的限流的目的是防止恶意请求流量、恶意攻击、或者防止流量超过系统峰值限流是对资源访问做...原创 2019-09-24 17:01:41 · 1926 阅读 · 1 评论