
并发编程
对错一半
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
并发编程(volatile)
并发编程中的三个概念 原子性 即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行 可见性 指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值 有序性 即程序执行的顺序按照代码的先后顺序执行(JVM在真正执行这段代码的时候会保证语句1一定会在语句2前面执行吗?不一定,为什么呢?这里可能会发生指令重排序) volatile关键字 ...转载 2019-02-02 13:25:58 · 244 阅读 · 0 评论 -
并发编程(synchronized)
1修饰方法 如下 public synchronized void method(){ // todo} or public void method(){synchronized(this) {// todo }} 2修饰一个代码块 1.一个线程访问一个对象中的synchronized(this)同步代码块时,其他试图访问该对象的线程将被阻塞 2.当一个线程访问对象的一个synchronize...转载 2019-02-02 13:25:32 · 112 阅读 · 0 评论 -
并发编程(ThreadLocal)
概述 ThreadLocal的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度 initialValue函数 initialValue函数用来设置ThreadLocal的初始值 protected T initialValue() {return null;} public class TestThreadLocal {...转载 2019-02-02 13:25:09 · 123 阅读 · 0 评论 -
CountDownLatch基本理解
CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。 CountDownLatch是什么 CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier、Semaphore、ConcurrentHashMap和BlockingQueue,它们都存在于java.util.con...转载 2019-02-15 13:48:07 · 736 阅读 · 1 评论 -
并发编程(CopyOnWriteArrayList)
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArra...转载 2019-02-15 15:00:08 · 137 阅读 · 0 评论 -
并发编程(ConcurrentHashMap)
术语定义: 术语 英文 解释 哈希算法 hash algorithm 是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值 哈希表 hash table 根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地...转载 2019-02-15 15:47:29 · 229 阅读 · 0 评论 -
并发编程(ReentrantLock)
ReentrantLocak特性(对比synchronized) 尝试获得锁 获取到锁的线程能够响应中断 ReentrantLock(重入锁) public class MyService { private Lock lock = new ReentrantLock(); public void testMethod() { lock.lock(); ...转载 2019-02-15 17:21:18 · 124 阅读 · 0 评论 -
并发编程(Callable、Future和FutureTask)
创建线程基本的两种方式,1.继承thred类 2.实现Runnable接口 一.Callable与Runnable Callable位于java.util.concurrent包下,它也是一个接口,在它里面也只声明了一个方法,只不过这个方法叫做call(): public interface Callable<V> { /** * Computes a re...转载 2019-02-18 17:04:34 · 111 阅读 · 0 评论