JAVA并发包
文章平均质量分 85
飞鱼武士
这个作者很懒,什么都没留下…
展开
-
java.util.concurrent并发包诸类概览
java.util.concurrent包的类都来自于JSR-166:Concurrent Utilities,官方的描述叫做“The JSR proposes a set of medium-level utilities that provide functionality commonly needed in concurrent programs. ”。作者是大名鼎鼎的Doug Lea转载 2015-07-01 17:02:39 · 544 阅读 · 0 评论 -
Guava并发(2)——ListenableFuture\FutureCallback\SettableFuture\Futures
ListenableFuture类 jdk5之后有了Future这种异步执行的结构ExecutorService executor = Executors.newCachedThreadPool(); Future future = executor.submit(new Callable(){ publ原创 2016-01-08 15:11:40 · 4117 阅读 · 0 评论 -
Guava并发(1)——Monitor的使用
一、说明Monitor就像java本土的synchronized,ReentrantLock一样,每次只运行一个线程占用,且可重占用,每一次占用会对应一次退出占用。Monitor.enter //进入Monitor块,将阻塞其他线程知道Monitor.leaveMonitor.enterWhen //进入Monitor块,将阻塞其他线程知道Monitor.leaveMonit原创 2016-01-08 14:46:01 · 2357 阅读 · 0 评论 -
JAVA多线程面试
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用什么转载 2015-09-04 14:27:57 · 523 阅读 · 0 评论 -
聊聊并发——HashMap、HashTable及ConcurrentHashMap
本文转自:http://www.infoq.com/cn/articles/ConcurrentHashMap/术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组转载 2015-07-24 16:33:13 · 475 阅读 · 0 评论 -
悲观锁和乐观锁
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人转载 2015-07-24 10:28:34 · 339 阅读 · 0 评论 -
JAVA最多支持多少个线程
1. java的线程开启,默认的虚拟机会分配1M的内存,但是在4G的windows上线程最多也就开到300多 ,是因为windows本身的一些限制导致。2. 虚拟机给每个线程分配的内存(栈空间)是由虚拟机参数-Xss来指定的,在不同平台上对应的默认大小可以 在oracle的官方文档上查询到:http://docs.oracle.com/cd/E13150_01/jrockit_jv转载 2015-07-24 16:05:42 · 7606 阅读 · 0 评论 -
ExecutorService的十个使用技巧
本文转自:http://www.cnblogs.com/langtianya/p/4520373.htmlExecutorService] (https://docs.oracle.com/javase/8/docs/api/java/util/concurrent /ExecutorService.html)这个接口从Java 5开始就已经存在了。这得追溯到2004年了。这里小小地提醒一转载 2015-08-12 14:15:46 · 478 阅读 · 0 评论 -
wait/notify实现生产消费者模式
存储类GoodStorage:import java.util.ArrayList;import java.util.List;public class GoodStorage { private static final int SIZE = 2; private List storage = new ArrayList(SIZE); public void add(Good g原创 2015-08-12 11:27:29 · 448 阅读 · 0 评论 -
await/signal/lock实现生产消费者模式
存储类GoodStorage:package main.wll.fish.product;import java.util.ArrayList;import java.util.List;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.uti原创 2015-08-12 11:41:28 · 478 阅读 · 0 评论 -
JAVA并发包备忘录
JAVA并发包的功能主要包含:1)原子操作类,诸如AtomicInteger、AtomicLong等类;2)并发集合类,如ArrayBlockingQueue、ConcurrentMap、CopyOnWriteArrayList3)锁机制,比synchronized性能更优的锁机制,boolean captured = lock.tryLock(); try { Syst原创 2015-07-01 19:28:43 · 594 阅读 · 0 评论 -
Guava并发(3)——实现的异步回调
一、说明:1、装饰Concurrent包里的ExecutorServiceListeningExecutorService guavaExecutor = MoreExecutors .listeningDecorator(Executors.newSingleThreadExecutor());2、ListenableFuture的创建final ListenableFutu原创 2016-01-08 10:46:18 · 7834 阅读 · 0 评论