boost大部分库只需要包含头文件即可使用,而有部分需要编译的,如下:E:\Qt\Qt3rdlib\boost_1_58_0>bjam --show-libraries
The following libraries require building:
- atomic
- chrono
- container
- context
- coroutine...
分类:
其他好文 时间:
2015-07-05 11:07:48
阅读次数:
125
这里看一下原子数组操作和一些其他的原子操作。 AtomicIntegerArray/AtomicLongArray/AtomicReferenceArray的API类似,选择代表性的AtomicIntegerArray来描述这些问题。 int get(int i) //获得当前位置的值void...
分类:
编程语言 时间:
2015-07-03 21:59:02
阅读次数:
194
[-]part1 从AtomicInteger开始part 2 数组引用的原子操作part3 指令重排序与happens-before法则part 4 CAS操作part1 从AtomicInteger开始从相对简单的Atomic入手(java.util.concurrent是基于Queue的并发包...
分类:
编程语言 时间:
2015-06-29 19:35:30
阅读次数:
258
Atomic的两点背景看下这个场景,老张去厕所,发现门是锁着的,他就在门口等着里边人出来,此时小王也来了,他想了想,决定去楼上的厕所碰碰运气。如果把门类比为一种竞争资源的话,老张就像mutex,而小王更像atomic,注意是像而已。atomic跟传统的通过临界区加锁来避免竞争的多线程处理方式来说,它...
分类:
其他好文 时间:
2015-06-17 19:51:39
阅读次数:
187
msql的一个事务的回归测试,可以自测一下,了解下事务。举个例子:小明和小飞两个人现在手里各有¥100,突然小飞脑袋出问题了说给小明¥50,现在他们手里的钱就是(小明:¥150,小飞:¥50);这样同步就是一个事务的完成,下面是demo/* 事务 ACID 原子性 Atomic 一致性 Consis...
分类:
数据库 时间:
2015-06-16 16:21:03
阅读次数:
178
1.什么是事物? 事务是一组操作的执行单元,相对于数据库操作来讲,事务管理的是一组SQL指令,比如增加,修改,删除等,事务的一致性,要求,这个事务内的操作必须全部执行成功,如果在此过程种出现了差错,比如有一条SQL语句没有执行成功,那么这一组操作都将全部回滚!2.事物的四大特性: Atomic(.....
分类:
编程语言 时间:
2015-06-13 23:04:40
阅读次数:
145
atomic:保证 setter/getter 这两个方法的一个原语操作。如果有多个线程同时调用 setter 的话,不会出现某一个线程执行 setter 全部语句之前,另一个线程开始执行 setter 情况,相当于方法头尾加了锁一样。nonatomic:(一般情况推荐用)不保证 setter/ge...
分类:
其他好文 时间:
2015-06-13 21:29:21
阅读次数:
123
这里仅仅是验证多线程环境下,AtomicInteger的安全性。通过源码不难发现两点:1、value属性是volatile修饰2、使用了unsafe的CAS操作通过上述两点,实现非阻塞同步(乐观锁),实现线程安全。/** * 验证在并发情况下,AtomicInteger的线程安全性 * Atomic...
分类:
其他好文 时间:
2015-06-12 19:21:11
阅读次数:
145
前些天有朋友问我,经常在代码中看到Atomic开头的类,不明白是什么意思。
这里我们就从AtomicBoolean开始说吧,自己正好也复习一下。对于官方的说明是:
可以用原子方式更新的 boolean 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic
包规范。AtomicBoolean 可用在应用程序中(如以原子方式更新的标志),但不能用于替换 B...
分类:
其他好文 时间:
2015-06-12 11:43:09
阅读次数:
127
Atomic,同一个事务里,要么都提交,要么都回滚Consistency,即在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏Isolation,并发事务间的数据是彼此隔离的Durabiliy,事务提交后,所有结果务必被持久化原子性,一致性,隔离性,持久性并发事务带来的问题dirtyread..
分类:
其他好文 时间:
2015-06-12 01:05:49
阅读次数:
117