package?thread;
import?java.util.ArrayList;
import?java.util.List;
import?java.util.concurrent.atomic.AtomicInteger;
/**
?*?@author??changxiangxiang
?*?@date?2014年8月6日?下午3:25:12
?...
分类:
编程语言 时间:
2014-08-06 19:35:52
阅读次数:
260
场景:在用户通过支付通道支付完成返回时,发现我收到的处理数据记录中有两条同样的数据记录,也就是同一笔钱,我数据库中记为了两条一样的记录。tornado端代码from tornado import genfrom tornado.concurrent import run_on_executorcla...
分类:
数据库 时间:
2014-08-05 19:03:49
阅读次数:
1248
package concurrency;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Storage { private int capacity; ...
分类:
编程语言 时间:
2014-08-05 10:47:39
阅读次数:
322
D/dalvikvm: , , ,
每隔一段时间,系统回收器都会打印内存回收的情况。日志的内容格式就是上面那条格式。下面是详细说明
>
D/dalvikvm( 9050): GC_CONCURRENT freed 2049K, 65% free 3571K/9991K, external 4703K/5261K, paused 2ms+2ms
GC Reason GC回收原因(是什么触...
分类:
其他好文 时间:
2014-08-04 21:45:48
阅读次数:
296
一 简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问...
分类:
编程语言 时间:
2014-08-04 20:49:08
阅读次数:
462
1. AQS简介
AQS是Java并发类库的基础,其提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础。使用的方法是继承,子类通过继承同步器并需要实现它的方法来管理其状态,管理的方式就是通过类似acquire和release的方式来操纵状态。然而多线程环境中对状态的操纵...
分类:
编程语言 时间:
2014-08-04 14:22:37
阅读次数:
295
The .NET Framework 4 includes significant advancements for developers writing parallel and concurrent applications, including Parallel LINQ (PLINQ), t...
分类:
Web程序 时间:
2014-08-03 10:11:35
阅读次数:
456
在编码的过程中,有时候我们不得不借助锁同步来保证线程安全。synchronized关键字在上一篇博客中已经介绍;自从JDK5开始,添加了另一种锁机制:ReentrantLock。
二者的区别
1、lock是jdk5之后代码层面实现的,synchronized是JVM层面实现的。
2、synchronized在出现异常的时候能够自动释放锁,而lock必须在finally块中unlock()主动...
分类:
编程语言 时间:
2014-08-01 00:02:20
阅读次数:
319
什么是可中断的锁获取呢?就是:线程在等待获取锁的过程中,是否能够响应中断,以便在被中断的时候能够解除阻
塞状态,而不是傻傻地一直在等待。java对象的内置锁(synchronized)就是一种不可中断的锁,也就是说如果一个线
程在等待获取某个对象的内置锁,就算是该线程被其他线程中断,该线程仍然继续等待内置锁,而不是解除阻塞状
态,也不会抛出InterruptedException。Lock类...
分类:
编程语言 时间:
2014-07-30 14:49:43
阅读次数:
254
对于多线程共享资源的情况需要进行同步,以避免一个线程的改动被另一个线程的改动所覆盖。最普遍的同步方式就是synchronized。把代码声明为synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。
1、原子性强调的是执行,意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor object保护。从而防止多...
分类:
编程语言 时间:
2014-07-30 01:03:12
阅读次数:
311