如果不加同步锁,代码如下:#import"ViewController.h"@interfaceViewController(){NSInteger_money;}@end@implementationViewController- (void)viewDidLoad { [superviewDid...
分类:
编程语言 时间:
2015-04-23 01:56:40
阅读次数:
146
hibernate中对象的三种状态1)瞬时状态在数据库中没有与之匹配的数据没有纳入session的管理,执行完直接销毁2)持久状态在数据库中有与之匹配的数据纳入session的管理在清理缓存的时候(脏数据检测)会时刻与数据库中数据保存统一3)托管状态在数据库中有与之匹配的数据没有纳..
分类:
Web程序 时间:
2015-04-16 10:31:09
阅读次数:
155
ViewState是如何实现这些功能。以名值对的方式来存控件的值,和Hashtable的结构类似;跟踪那些ViewState中出现改变的值,以便对这些脏数据(dirty)进行进一步的处理;通过序列化将ViewState中的值保存在页面的隐藏域(Hidden Field)中(这是默认的持久化方式),并...
分类:
Web程序 时间:
2015-04-11 16:08:58
阅读次数:
137
在实际业务常见中,很多的时候我们都需要访问一些共同的资源,比如一个序列号,比如某一个文件。如果多个线程一起访问这个序列或者文件,而我们没有做足够多的处理,就很容易造成脏数据或者数据丢失等各种问题。
这种场景特别常见,写一个简单的例子。以免自己的团队在实际开发中,犯这种小错误。
当然,这种错误知道了,要预先处理还是相当简单;但是如果要真的出现了错误,在一大堆代码中找这个坑,那是相当的要命。样例的场...
分类:
编程语言 时间:
2015-03-31 18:06:22
阅读次数:
170
9.1事务的设置与提交较低的隔离级别可以增加并发,但会出现脏数据,降低数据的正确性。较高的隔离级别可以保证数据的正确性,但会降低并发,即影响程序的运行速度,并且易死锁。SQL Server支持4种隔离级别:未提交读(read uncommitted)相当于NOLOCK、提交读(read commit...
分类:
数据库 时间:
2015-03-15 13:41:17
阅读次数:
147
SQL92标准规定,数据库事务有4个隔离级别,他们为了防止以下现象:脏读取(Dirty read):一个事务读取了另一事务未提交的数据A事务修改一笔数据,但仍未提交B事务查询数据,却能读取该笔未提交的数据(如果A事务回滚,则此笔数据为脏数据,所以为脏读取)不可重复读取(Nonrepeatable r...
分类:
数据库 时间:
2015-02-16 18:06:14
阅读次数:
140
读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被除撤消,而此时T1把已修改过的数据又恢复原值,T2读到的数据与数据库的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。
脏数据在比较复杂的交互式系统中,非常常见。
1、用JAVA处理数据库事务的准备
要有一个能够访问数据库的应用。下面的示例都基于ORACLE进行。
create ta...
分类:
数据库 时间:
2015-02-04 16:31:22
阅读次数:
302
数据库事务(Database Transaction)
,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久...
分类:
数据库 时间:
2015-02-03 19:35:48
阅读次数:
186
今天修改之前一个同事写的代码,发现方法中直接执行了两个sql语句,一个是删除用户,一个是删除该用户的权限。由于数据库数据比较多,导致有时候这个两个sql不能都执行成功,数据库出现了脏数据。鉴于这个原因,我把两个sql放到了一个存储过程中执行,在存储过程中添加事务,使其要么都执行,要么都不执行。代码框...
分类:
数据库 时间:
2015-01-29 23:42:56
阅读次数:
241
多线程操作中,需注意互斥性和可见性,重点了解下可见性。
(一)可见性问题来源
1.cpu和内存速度相差过高,引入缓存(cache、寄存器等);一个线程由线程id、指令计数器PC、寄存器集合和堆栈构成,详见《程序员的自我修养》。
每个线程有自己的工作内存,修改进程主内存的值,都需要拷贝到工作内存修改后,再回写,其他现场可能出现,读取到未回写的脏数据。
2....
分类:
移动开发 时间:
2015-01-27 13:31:34
阅读次数:
181