在处理线程安全时,首先需要引进 annotations 包
我们在说线程安全其实本质就是变量的原子性发生的状态变化,在任何系统,变量无处不在,因此,面对高并发多线程的业务代码处理就特别注意线程安全,也是我们很多程序员容易忽略的地方
1》 常规非安全写法
public class UnSynchronizedInteger {
private int value;
...
分类:
编程语言 时间:
2014-10-30 09:36:25
阅读次数:
201
1,原子操作 通常cpu的最小执行单元是一条指令,是不会被打断的。我们把单条指令的操作成为是原子的,但是像自增或自减这样的操作由几条指令组成,是非原子操作。window提供了一些专门的原子操作的API: 2,同步与...
分类:
编程语言 时间:
2014-10-30 02:12:46
阅读次数:
256
svn概述众所周知,svn是一种集中式的版本控制工具,是cvs的改进版,那么svn相比cvs的好处在哪里呢?基于目录的版本控制系统(传统的CVS都是基于单个文件进行版本控制的,而SVN可以随意去除任何一个文件、目录的任何一个历史版本)原子提交(提交多个文件时,如果一个文件发生冲突,则其他修改都不会被...
分类:
系统相关 时间:
2014-10-29 23:57:27
阅读次数:
408
什么是事务一组sql语句操作单元组内所有sql完成一个业务如果整组成功,意味着组内的全部的sql成功如果其中任何一个失败,意味着整个操作失败数据回到操作前的状态事务的特点1.多条sql语句组成。2.原子性3.一致性4.隔离性5.持久性事务常用的语句setautocommit=0 #关闭自动提交的功能...
分类:
数据库 时间:
2014-10-29 00:06:35
阅读次数:
154
改变颜色原理的具体描述如下:1)改变物体或其环境的颜色:2)改变物体或其环境的透明度:3)对于难以看到的物体或过程,使用颜色添加剂来观测;4)如果已经使用了这样的添加剂,那么使用发光跟踪或原子跟踪;颜色的改变的目的是增强可观测性,改变的是其视觉特性,而这种视觉特性与我们(系统的观察者)密切相关。如果我们需要区别多种系统的特征(例如促进检测,改善测量和标识位置,指示状态变化,目视控制,掩盖问题等)时...
分类:
其他好文 时间:
2014-10-28 21:42:21
阅读次数:
355
什么是数据结构:数据 + 关系关系可分为:集合,线性结构,树结构,图结构或网状结构。存储结构:顺序存储,链式存储,索引存储,散列存储。数据类型:原子类型,结构类型1.算法的时间复杂度2.算法的空间复杂度 2.1 算法本身占用的空间 2.2 算法的运行时占用的空间 2.3 算法运行时临时占用的空间
分类:
编程语言 时间:
2014-10-28 21:30:08
阅读次数:
157
所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。 原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomi....
分类:
其他好文 时间:
2014-10-28 19:27:27
阅读次数:
218
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就.....
分类:
编程语言 时间:
2014-10-26 14:19:42
阅读次数:
180
实现数的原子性加减。什么是原子性的加减呢?
举个例子:如果一个变量 Long value =0;
首先说一下正常情况下的加减操作:value+=1;
1:系统从Value的空间取出值,并动态生成一个空间来存储取出来的值;
2:将取出来的值和1作加法,并且将和放回Value的空间覆盖掉原值。加法结束。
如果此时有两个Thread ,分别记作threadA,threa...
分类:
其他好文 时间:
2014-10-25 23:07:35
阅读次数:
359
在计算机中,时间通常有三个作用:表示时间、计时和定时。本文将主要介绍一些经常使用的表示时间的函数,以及他们之间的转换,对于其他的使用方法,在兴许中补充。一、基本概念 1. 世界标准时间(UTC,Coorainated Universal Time)是最基本的世界时间标准,其以原子时秒长为基础,在时....
分类:
其他好文 时间:
2014-10-24 20:21:11
阅读次数:
181