本月博客排行
-
第1名
龙儿筝 -
第2名
johnsmith9th -
第3名
wy_19921005 - zysnba
- sgqt
- lemonhandsome
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- qepwqnp
- e_e
- 解宜然
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- gaojingsong
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- jh108020
- lemonhandsome
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- lzyfn123
- zhanjia
- forestqqqq
- johnsmith9th
- ajinn
- nychen2000
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- silverend
- mwhgJava
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
最新文章列表
ForkAndJoin实践
Java的并发编程模型中,有个Fork-Join框架,目的是将大的任务分解成小的任务进行计算,然后再把每个小任务的计算结果汇总。
Fork / Join 框架提供了两个可供继承的子类
1,RecursiveAction 用以分解没有计算结果的任务
2,RecursiveTask 用以分解有计算结果的任务
接下来计算一个1加到100的程序,体会一下Fork/Join框架的使用
...
java并发编程--ThreadLocal的用法和分析
java并发编程--ThreadLocal的用法和分析
博客分类:
Java高级
threadlocalthread
ThreadLocal这个类,理解起来比较简单,但是使用时,还是需要一些技巧的,简单介绍如下:
例子1:threadLocal变量一般用法
Java代码
package concurrent.thread;
...
java 并发编程之同步器
在讨论Java的锁的时候,有一个概念很重要,那就是同步器,同步器可以想象成一种互斥量,当一个线程在进入临界区之前先要获得互斥量,同样,在线程获得同步状态之前也是需要获取到同步器。今天看到《java并发编程的艺术》第五章的时候觉得蛮有收获,所以这一篇算是整理下看书思路。
首先,我们来看一下Lock的接口
public interface Lock {
void ...
从notify-wait模式说去
在java的并发编程之中,有几个比较重要的模式,其中notify-wait的模式显得很重要,因为他是经典的生产者-消费者模式实现的基础,而在生产者-消费者模式上,又可以演变出很多的设计方法,比如java的线程池就是典型的生产者消费者模式,今天就来说一下notify-wait
首先说一下wait在notify之后的的执行逻辑
在Java对象中,有两种池 琐池- ...
CountDownLatch的介绍和使用
CountDownLatch,一个同步辅助类,以计数的方式在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。
CountDownLatch类只提供了一个构造器:
public CountDownLatch(int count) { }; //参数count为计数值
下面这3个方法是CountDownLatch类中最重要的方法:
public void ...
java高并发下的唯一性验证
做java ee程序基本上都会遇到唯一性的问题,我们通常不考虑并发性的问题的情况下的做法是:先根据条件去数据中查询是否存在,如果存在则提示不唯一,否则插入
下面是一个简单的例子, 向表t_test_curr插入数据,t_test_curr表包含两个字段,一个id(主键,自增长),一个username,要求唯一
1 不考虑并发性的做法:
public void test ...
并发的JVM:Java和Scala的并发性基础知识
在处理器的速度持续快速发展几十年来在世纪之交的结束。自那时以来,处理器制造商提高芯片的性能更加芯通过提高时钟速度比。多核心系统现在为从手机到企业服务器所有的规范,而且这种趋势很可能会继续加快。越来越多,开发商必须解决多核在他们的应用程序代码来满足性能要求。
在本系列文章中,您将看到一些新的方法来并行编程的Java与Scala语言,包括Java是如何将思想已探索Scala和其他基于JVM的语言。 ...
Java并发教程(Oracle官方资料)
计算机的使用者一直以为他们的计算机可以同时做很多事情。他们认为当其他的应用程序在下载文件,管理打印队列或者缓冲音频的时候他们可以继续在文字处理程序上工作。甚至对于单个应用程序,他们任然期待它能在在同一时间做很多事情。举个例子,一个流媒体播放程序必须能同时完成以下工作:从网络上读取数字音频,解压缩数字音频,管理播放和更新程序显示。甚至文字处理器也应该能在忙于重新格式化文本和刷新显示的情况下同时 ...
(转)Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html
多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨 ...
java并发包(一)Callable接口
刚开始使用java线程的时候,使用都是Thread或Runnable接口。最近发现java并发包下,提供了一个与Runnable接口类似的Callable接口。Callable提供了比Runnable更灵活和宽松的call()。
Callable类似于Runnable接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务
Callable经常和java线程池一 ...
java线程安全理解
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。比如一个 ArrayList 类,在添加一个元素的时候,它可能会有两步来完成:1. 在 Items[Size] 的位置存放此元素;2. 增大 Size 的值。
在单线程运行的情况下,如果 Size = 0,添加一个元 ...
Java并发编程之ConcurrentHashMap
ConcurrentHashMap
ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和HashTable功能相同但是线程安全的方法。ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashMap加锁。
ConcurrentHashMa ...
JAVA并发编程之CyclicBarrier
一.概述
使用JAVA编写并发程序的时候,我们需要仔细去思考一下并发流程的控制,如何让各个线程之间协作完成某项工作。有时候,我们启动N个线程去做一件事情,只有当这N个线程都达到某一个临界点的时候,我们才能继续下面的工作,就是说如果这N个线程中的某一个线程先到达预先定义好的临界点,它必须等待其他N-1线程也到达这个临界点,接下来的工作才能继续,只要这N个线程中有1个线程没有到达所谓的临界点,其 ...
java并发相关资料
[分享] Java之锁研究
Lock和synchronized5 M( r! f: u$ w
' p# W. a/ D6 q
JDK1.5以后,在锁机制方面引入了新的锁-Lock,在网上的说法都比较笼统,结合网上的信息和我的理解这里做个总结。
* l, i+ ^% ^ c8 b O) S
java现有的锁机制有两种实现方式,J.DK1.4前是通过synchronized实现,J ...