今天查看hadoop源代码, 发现有个Unsafe.java稍微总结下优势 1 减少线程调度开销, Unsafe.java 通过采用非堵塞原子方式来减少线程调度开销 2 传统线程通信通过wait,notify方法实现(会有信号量的堵塞队列),而Unsafe使用操作系统调度命令park,unpark,...
分类:
编程语言 时间:
2014-07-16 20:37:03
阅读次数:
273
Linux与Windows中的UTC时间先介绍几个术语UTC 协调世界时,又称世界标准时间或世界协调时间,简称UTC(从英文“Coordinated Universal Time”/法文“Temps Universel Cordonné”而来),是最主要的世界时间标准,其以原子时秒长为基础,在时刻上...
1.什么是事务控制?答:事务控制就是将一系列操作当成一个不可拆分的逻辑单元,保证这些操作要么都成功,要么都失败。在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。事务是恢复和并发控制的基本单位。事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性...
分类:
编程语言 时间:
2014-07-16 19:19:21
阅读次数:
284
HBase提供基于单行数据操作的原子性保证
即:对同一行的变更操作(包括针对一列/多列/多column family的操作),要么完全成功,要么完全失败,不会有其他状态...
分类:
其他好文 时间:
2014-07-15 12:46:13
阅读次数:
367
1.atomicity 原子性 数据库中的执行要么都完成,要么失败。2.consistency 一致性 通过一些约束(主键,外键,唯一性,check等)来保证数据跟业务一致。3.isolation 隔离性 事务执行不相互干扰,一个事务不能看到另一个事务运行时的某一刻的数据。 隔离性的等级分为:rea...
分类:
其他好文 时间:
2014-07-14 19:03:05
阅读次数:
223
在上篇文章《.net中的并行编程-1.基础知识》中列出了在.net进行多核或并行编程中需要的基础知识,今天就来分析在基础知识树中一个比较简单常用的并发数据结构--.net类库中无锁栈的实现。 首先解释一下什么这里“无锁”的相关概念。 所谓无锁其实就是在普通栈的实现方式上使用了原子操作,原子操作的原理...
分类:
Web程序 时间:
2014-07-14 10:55:16
阅读次数:
271
本文由该问题引入到内核锁的讨论,归纳例如以下为什么须要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是能够訪问全部内核数据的,因此要对共享数据进行保护,即相互排斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v...
分类:
其他好文 时间:
2014-07-13 23:31:28
阅读次数:
269
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表...
分类:
数据库 时间:
2014-07-13 21:35:29
阅读次数:
267
java 线程 原子类相关操作示例 thinking in java4 目录21.3.4...
分类:
编程语言 时间:
2014-07-12 18:40:39
阅读次数:
148
共享内存系统是普通单机程序开发人员熟悉的开发范式,通过简单的使用读、写命令,就能确保将我们需要的值从内存中放入和读取出来,数据的一致性等问题,在单机系统中,开发人员根本不需要考虑,比如你不需要考虑当你进行了i=i+1后,再获取i的值时,i的值可能还没有来的及变化,因为这些都已经在读写原语的原子性中被考虑了,然而在分布式环境下,由于数据出现多个副本,且副本的数量有可能动态增加和减少,要实现同样的功能,又能保证读写性能,就需要新的算法和实现。本文介绍了分布式环境下实现共享内存模型会遇到的各种问题和挑战,针对不同...
分类:
其他好文 时间:
2014-07-10 20:12:10
阅读次数:
341