原子操作即是进行过程中不能被中断的操作。针对某个值的原子操作在被进行的过程中,CPU绝不会再去进行其他的针对该值的操作。
为了实现这样的严谨性,原子操作仅会由一个独立的CPU指令代表和完成。GO语言提供的原子操作都是非入侵式的,由标准库sync/atomic中的众多函数代表
类型包括int32,int64,uint32,uint64,uintptr,unsafe.Pointer,共六个。
这些...
分类:
其他好文 时间:
2015-11-29 15:06:06
阅读次数:
233
6、可以用属性@property语法来定义对象中所封装的数据。通过“特质”来指定存数数据所需的正确语义。在设置属性所对应的实例变量时,一定要遵从该属性所声明的语义。开发iOS程序时应该使用nonatomic属性,因为atomic属性会严重影响性能。7、在对象内部读取数据时,应该直接通过实例变量来读,...
分类:
移动开发 时间:
2015-11-27 16:46:56
阅读次数:
157
NSLock (0)为什么上锁 1.atomic(原子操作)是指不会被线程机制打断,这种操作一旦开始就运行到结束,中间不会有任何的切换 2.我们可以通过(NSLock)使这段代码成为原子操作 3.使用线程锁,不是服务于线程,而是服务于代码,如果我们想对一段代码进行原子从操作的时候(数据库的写入).....
分类:
移动开发 时间:
2015-11-26 09:24:05
阅读次数:
181
nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。 (atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所 以在iPhone这种小型...
分类:
其他好文 时间:
2015-11-21 15:53:58
阅读次数:
172
1. 数据库事务ACID特性数据库事务的4个特性:原子性(Atomic): 事务中的操作,要么都成功或者都失败; All or Nothing.一致性(Consistency): 事务操作之后, 数据库所处的状态和业务规则是一致的; 比如a,b账户相互转账之后,总金额不变;隔离性(Isolation...
分类:
数据库 时间:
2015-11-16 12:36:14
阅读次数:
1619
同步问题的提出 假设我们使用一个双核处理器执行A和B两个线程,核1执行A线程,而核2执行B线程,这两个线程现在都要对名为obj的对象的成员变量i进行加1操作,假设i的初始值为0,理论上两个线程运行后i的值应该变成2,但实际上很有可能结果为1。 我们现在来分析原因,这里为了分析的简单,我们不考虑缓存的...
分类:
编程语言 时间:
2015-11-16 06:07:03
阅读次数:
377
//解释 property后边的圆括号中的修饰词的含义:// nonatomic 非线程安全 非原子操作 特点是: 操作变量的效率高// atomic 线程安全 原子操作 特点是: 操作变量的效率低//// retain 强引用实例变量, 即 setter方法中会...
分类:
其他好文 时间:
2015-11-12 20:15:15
阅读次数:
278
nonatomic是非原子性的,也就是给线程不加原子锁,这样的代码运行效率会更高一点,例如:@property (nonatomic,copy)NSString *userName;@property (atomic,copy)NSString *userName;nonatomic能提高好几倍的效...
分类:
移动开发 时间:
2015-11-07 10:47:39
阅读次数:
171
属性readwrite,readonly,assign,retain,weak,strong,copy,nonatomic ,atomic的作用,使用情况及注意点 NSInteger 通知与协议的区别
分类:
移动开发 时间:
2015-11-05 23:58:20
阅读次数:
389
A是原子性(atomic):事务中包含的各项操作必须全部成功执行或者全部不执行。任何一项操作失败,将导致整个事务失败,其他已经执行的任务所作的数据操作都将被撤销,只有所有的操作全部成功,整个事务才算是成功完成。 C是一致性(consistent):保证了当事务结束后,系统状态是一致的。那么什么是一....
分类:
其他好文 时间:
2015-11-03 09:14:04
阅读次数:
537