非安全:
@NotThreadSafe
public class UnsafeCountingFactorizer extends GenericServlet implements Servlet {
private long count = 0;
public long getCount() {
return count;
}
public...
分类:
编程语言 时间:
2015-02-12 18:25:57
阅读次数:
177
图示
如上图所示红框部分,本人在做稳定性测试的时候,当flume运行几天后,我发现这个counter值逐渐变大,到一定值后,又变小了,有一个循环的过程,故而对此产生研究的欲望,下面来看看:
if (txnEventCount == 0) {
sinkCounter.incrementBatchEmptyCount();
} else if (txnEvent...
分类:
编程语言 时间:
2015-02-12 10:52:27
阅读次数:
1233
锁的释放-获取建立的happens before 关系锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。下面是锁释放-获取的示例代码:[java]copyclass a=; writer(){} reader(){i=a;……}假设线...
分类:
编程语言 时间:
2015-02-09 18:08:33
阅读次数:
263
并发程序的编程与设计是一个难点,也是程序员必须掌握的一个点。工作之后写的第一个软件里面也有并发编程,当时在设计并发这块感觉好复杂,最后的实现感觉也有点乱。当时就想好好学习一下并发编程的设计,但是一直没有时间。今年看了两本并发编程相关的书,《多线程设计模式》和《Java并发编程与实战》。本想着和设计模...
分类:
编程语言 时间:
2015-02-01 20:24:11
阅读次数:
248
给自己的学习做个计划,从现在开始记录下自己想读的书,和已经读过的书(好好学习,天天进步安静):1.需要读的书:Java特种兵剑指Offer疯狂Java:突破程序员基本功的16课深入JavaWeb内幕京东技术解密2.读过的书:Java编程思想大型网站与java中间件Java并发编程实战
分类:
其他好文 时间:
2015-02-01 07:20:32
阅读次数:
136
任务的定义大多数并发程序都是围绕任务进行管理的.任务就是抽象和离散的工作单元.任务的执行策略1.顺序的执行任务这种策略的特点是一般只有按顺序处理到来的任务.一次只能处理一个任务,后来其它任务都要等待处理.响应性很糟糕,吞吐量低.系统资源利用率低.2.显示的为任务创建线程为每个任务创建对应一个线程,响...
分类:
编程语言 时间:
2015-01-29 17:30:57
阅读次数:
175
这篇文章讨论了Java应用中并行处理的多种方法。从自己管理Java线程,到各种更好几的解决方法,Executor服务、ForkJoin 框架以及计算中的Actor模型。Java并发编程的4种风格:Threads,Executors,ForkJoin和Actors我们生活在一个事情并行发生的世界。自然...
分类:
编程语言 时间:
2015-01-15 10:36:35
阅读次数:
289
《java并发编程实战》读书摘要birdhack2015年1月2日对象的共享JAVA并发编程实战读书笔记 我们已经知道了同步代码块和同步方法可以确保以原子的方式执行操作,但一种常见的误解是,认为关键之synchronized只能用于实现原子性或者确定临界区。同步还有另一个重要的方面:内存可见性。.....
分类:
编程语言 时间:
2015-01-15 01:44:52
阅读次数:
136
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办...
分类:
编程语言 时间:
2015-01-14 21:12:38
阅读次数:
215
《java并发编程》的第二章2.1. 什么是线程安全性 讲到线程安全性的时候给出了一个例子考虑下面的代码片段,它迭代一个Vector 中的元素。尽管Vector 的所有方法都是同步的,但是在多线程的环境中不做额外的同步就使用这段代码仍然是不安全的,因为如果另一个线程恰好在错误的时间里删除了一个元素,...
分类:
其他好文 时间:
2015-01-10 22:19:06
阅读次数:
274