![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
你走开``
hello , my Friend and the world .
展开
-
java学习记录--ThreadLocal使用案例
标签(空格分隔): java本文借由并发环境下使用线程不安全的SimpleDateFormat优化案例,帮助大家理解ThreadLocal.最近整理公司项目,发现不少写的比较糟糕的地方,比如下面这个:public class DateUtil { private final static SimpleDateFormat sdfyhm = new SimpleDateFormat(转载 2017-05-31 13:10:54 · 585 阅读 · 0 评论 -
Java并发之AQS详解
一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。 以下是本文的目录大纲:...转载 2019-06-23 18:29:38 · 212 阅读 · 0 评论 -
浅谈偏向锁、轻量级锁、重量级锁
为了换取性能,JVM在内置锁上做了非常多的优化,膨胀式的锁分配策略就是其一。理解偏向锁、轻量级锁、重量级锁的要解决的基本问题,几种锁的分配和膨胀过程,有助于编写并优化基于锁的并发程序。内置锁的分配和膨胀过程较为复杂,限于时间和精力,文中该部分内容是根据网上的多方资料整合而来;仅为方便查阅,后面继续分析JVM源码的时候也有个参考。如果对各级锁已经有了基本了解,读者大可跳...转载 2019-06-25 21:06:21 · 335 阅读 · 0 评论 -
ConcurrentHashmap使用注意事项
ConcurrentHashmap是jdk1.5之后引入的并发工具集合类,可以将其看作并发效率更高的map,用来替代Hashtable和synchronizedMap,但是ConcurrentHashmap只能保证自身数据在多线程的环境下不被破坏,而并不能保证业务逻辑的正确性。举个例子:资源池中经常需要将某个资源放到一个map中缓存起来,等到需要的时候再从map中获取,代码如下:code1:...转载 2018-10-22 15:09:23 · 1458 阅读 · 0 评论 -
在Springboot中使用线程池ThreadPoolTaskExecutor
package com.markor.template.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.concurrent.T...原创 2018-10-22 14:31:23 · 7917 阅读 · 1 评论 -
在Springboot中使用线程池ThreadPoolTaskExecutor
ThreadPoolTaskExecutor是一个spring的线程池技术,它是使用jdk中的java.util.concurrent.ThreadPoolExecutor进行实现。配置@Beanpublic ThreadPoolTaskExecutor taskExecutor() { ThreadPoolTaskExecutor pool = new ThreadPoolT...转载 2018-10-22 14:29:41 · 2652 阅读 · 0 评论 -
spring线程池ThreadPoolTaskExecutor与阻塞队列BlockingQueue
转载于: https://www.cnblogs.com/lic309/p/4186880.html一: ThreadPoolTaskExecutor是一个spring的线程池技术,查看代码可以看到这样一个字段: private ThreadPoolExecutor threadPoolExecutor; 可以发现,spring的 ThreadPoolTaskEx...转载 2018-10-22 14:27:37 · 300 阅读 · 0 评论 -
线程特性以及常用术语
package my.thread.test1;/** * @author 蔡长盟 * @description * @version 2017年7月26日 */public class T1 { /** * 线程的特性: 原子性.内存可见性,重排序 * 原子性: 操作是单一不可分割的操作 * 内存可见性: cpu在执行代码时,为了原创 2017-07-26 11:01:38 · 405 阅读 · 0 评论 -
深入理解Java并发之synchronized实现原理
【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/72828483 出自【zejian的博客】 关联文章:深入理解Java类型信息(Class对象)与反射机制深入理解Java枚举类型(enum)深入理解Java注解类型(@Annotation)深入理解Java并发之sync转载 2017-06-08 17:50:21 · 454 阅读 · 0 评论 -
多线程---java同步方法和同步代码块的区别
同步代码块: [java] view plain copy package threads.ex1; class KitchenSync { private int[] intArray = new int[10]; void reverseOrder() { synchronized (this) { int halfWay = intArray.转载 2017-05-20 20:04:53 · 623 阅读 · 0 评论 -
基于aqs,自定义lock对象
package com.code.constructor.lock;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java.util.concurrent.locks.Condition;import java.util.co...原创 2019-06-23 23:02:22 · 256 阅读 · 0 评论