多线程
人称饼哥
这个作者很懒,什么都没留下…
展开
-
Java并发编程之ConcurrentHashMap[转]
的方法。ConcurrentHashMap可以做到读取数据不加锁,并 且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashMap加锁。 ConcurrentHashMap的内部结构 ConcurrentHashMap 为了提高本身的并发能力,在内部采用了一个叫做Segment的结构,一个Segment其实就是一个类Hash Table的结构,Segment内部维护了一个链表数组,我们用下面这一幅图来看下ConcurrentHashMap的内部结构:原创 2014-04-28 10:56:06 · 71 阅读 · 0 评论 -
java线程5种状态[转]
5种状态。 ①NEW:这种情况指的是,通过New关键字创建了Thread类(或其子类)的对象 ②RUNNABLE:这种情况指的是Thread类的对象调用了start()方法,这时的线程就等待时间片轮转到自己这,以便获得CPU;第二种情况是线程在处于RUNNABLE状态时并没有运行完自己的run方法,时间片用完之后回到RUNNABLE状态;还有种情况就是处于BLOCKED状态的线程结束了当前的BLOCKED状态之后重新回到RUNNABLE状态。 ③RUNNING:这时的线程指的是获得CPU的RUNNAB原创 2014-05-06 11:58:36 · 89 阅读 · 0 评论 -
生产者/消费者问题的多种Java实现方式[转]
原创 2014-05-08 14:46:15 · 73 阅读 · 0 评论 -
ExecutorService与Executors例子的简单剖析[转]
原创 2014-05-14 11:14:55 · 78 阅读 · 0 评论 -
Java线程池使用说明[转]
原创 2014-05-14 12:15:53 · 63 阅读 · 0 评论 -
ExecutorService的execute和submit方法[转]
: 1、接收的参数不一样 2、submit有返回值,而execute没有 Method submit extends base method Executor.execute by creating and returning a Future that can be used to cancel execution and/or wait for completion. 用到返回值的例子,比如说我有很多个做validation的task,我希望所有的task执行完,然后每原创 2014-05-14 12:30:52 · 76 阅读 · 0 评论 -
[转]各种web服务器的线程池实现比对
原创 2014-10-11 15:06:33 · 63 阅读 · 0 评论 -
[转]Java并发编程:深入剖析ThreadLocal
谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解 二.深入解析ThreadLocal类 三.ThreadLocal的应用场景 若有不正之处请多多谅解,并欢迎批评指正。 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin0520/p/3920407.html 一.对T原创 2015-07-08 11:44:49 · 83 阅读 · 0 评论 -
并发控制
e public void migrate(List<Long> list) throws InterruptedException { long lastMigId = 0; final Semaphore semaphore = new Semaphore(5); if(CollectionUtils.isNotEmpty(list)) { semaphore.acquire(); WORKER.execute(new Runnable原创 2016-10-20 16:11:57 · 91 阅读 · 0 评论