nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。 (atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所 以在iPhone这种小型...
分类:
编程语言 时间:
2014-06-28 20:17:39
阅读次数:
276
1.原子和非原子属性1.1>OC在定义属性时又nonatomic和atomic两种选择(1)atomic:原子属性,为setter方法加锁(默认就是atomic)(2)nonatomic:非原子属性,不会为setter加锁1.2>atomic加锁原理@property (assign,atomic)...
分类:
其他好文 时间:
2014-06-24 11:39:45
阅读次数:
205
深入分析Volatile的实现原理
引言
在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。
它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上I...
分类:
其他好文 时间:
2014-06-21 19:47:44
阅读次数:
688
Interlockedsimplearithmetic operations are not atomic.Interlocked类提供了一个专门的机制用于完成这些特定的操作。这个类提供了Increment、Decrement、Add静态方法用于对int或long型变量的递增、递减或相加操作Inte...
分类:
其他好文 时间:
2014-06-21 12:06:35
阅读次数:
320
本文由该问题引入到内核锁的讨论,归纳例如以下为什么须要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是能够訪问全部内核数据的,因此要对共享数据进行保护,即相互排斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v...
分类:
其他好文 时间:
2014-06-18 16:11:05
阅读次数:
224
今天面试问到了数据库的事务,没记住概念,把百度百科里的东西贴上来,使劲记忆吧(我是想说先看一遍,然后试着理解吧,最讨厌概念性的东西了) 相关属性 原子性 (atomic)(atomicity) 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的...
分类:
数据库 时间:
2014-06-18 08:16:52
阅读次数:
191
多线程间共享数据问题
一、Synchronized关键字
atomic一词与“原子”无关,它曾经被认为是物质的最小的单元,不能再被拆解成更小的部分。
当一个方法被声明成synchronized,要执行此方法的thread必须先取得一个token,我们将它称为锁。一旦该方法取得(或者说是获得)锁,它将运行此方法然后释放掉(或者返回)此锁。不管方法时怎样返回的(包...
分类:
编程语言 时间:
2014-06-15 17:36:35
阅读次数:
359
Zookeeper使用了一种称为Zab(Zookeeper Atomic Broadcast)的协议作为其一致性复制的核心,据其作者说这是一种新发算法,其特点是充分考虑了Yahoo的具体情况:高吞吐量、低延迟、健壮、简单,但不过分要求其扩展性。下面将展示一些该协议的核心内容:另,本文仅讨论Zooke...
分类:
其他好文 时间:
2014-06-14 21:25:47
阅读次数:
329
从这一篇开始我们将看看Java 5之后给我们添加的新的对线程操作的API,首先看看api文档:java.util.concurrent包含许多线程安全、测试良好、高性能的并发构建块,我们先看看atomic包下的AtomicInteger.import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerTest...
分类:
移动开发 时间:
2014-06-07 11:37:37
阅读次数:
272
5.0的多线程任务包对于同步的性能方面有了很大的改进,在原有synchronized关键字的基础上,又增加了ReentrantLock,以及各种Atomic类。了解其性能的优劣程度,有助与我们在特定的情形下做出正确的选择。
总体的结论先摆出来: synchronized: (http://arthe...
分类:
移动开发 时间:
2014-06-02 22:12:20
阅读次数:
446