花费 7 ms
彻底理解Java的Future模式

先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。 实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子 ...

Fri Oct 20 00:06:00 CST 2017 24 138314
java并发编程--Executor框架

摘要: Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程解耦开发,基于生产者-消费者模式,其提交任务 ...

Wed Apr 27 04:24:00 CST 2016 10 58021
为什么ConcurrentHashMap的读操作不需要加锁?

为什么ConcurrentHashMap的读操作不需要加锁? 我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全 ...

Wed Sep 12 17:47:00 CST 2018 4 16070
volatile与synchronized的区别

1、锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(visibility)。   互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这 ...

Sat Mar 12 02:09:00 CST 2016 0 28647
CompletableFuture异步和线程池讲解

一、线程回顾 1、初始化线程的 4 种方式 1)、继承 Thread 2)、实现 Runnable 接口 3)、实现 Callable 接口 + FutureT ...

Tue Nov 02 08:25:00 CST 2021 0 13417
Java并发之线程中断

前面的几篇文章主要介绍了线程的一些最基本的概念,包括线程的间的冲突及其解决办法,以及线程间的协作机制。本篇主要来学习下Java中对线程中断机制的实现。在我们的程序中经常会有一些不达到目的不会 ...

Sat Sep 30 04:21:00 CST 2017 5 17017
为并发而生的 ConcurrentHashMap(Java 8)

HashMap 是我们日常最常见的一种容器,它以键值对的形式完成对数据的存储,但众所周知,它在高并发的情境下是不安全的。尤其是在 jdk 1.8 之前,rehash 的过程中采用头插法转移结点,高并发 ...

Wed Dec 13 17:20:00 CST 2017 6 15049
java并发编程--Runnable Callable及Future

1.Runnable Runnable是个接口,使用很简单: 1. 实现该接口并重写run方法 2. 利用该类的对象创建线程 3. 线程启动时就会自动调用该对象的run方 ...

Fri Dec 16 08:20:00 CST 2016 2 15600
Java并发——原子变量和原子操作

很多情况下我们只是需要一个简单的、高效的、线程安全的递增递减方案。注意,这里有三个条件:简单,意味着程序员尽可能少的操作底层或者实现起来要比较容易;高效意味着耗用资源要少,程序处理速度要快 ...

Sat Nov 29 17:16:00 CST 2014 0 24376
Druid数据库连接池源码分析

  上一篇文章重点介绍了一下Java的Future模式,最后意淫了一个数据库连接池的场景。本想通过Future模式来防止,当多个线程同时获取数据库连接时各自都生成一个,造成资源浪费。但是忽略了一个根本 ...

Tue Dec 26 19:28:00 CST 2017 2 10610

 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM