这篇记录一下保证并发安全性的策略之——不变性。下面是一段音乐,歌名是——不可变对象^^将一连串行为组织为一个原子操作以保证不变性条件,或者使用同步机制保证可见性,以防止读到失效数据或者对象变为不一致状态,这些问题都是因为共享了可变的数据。如果我们能保证数据不..
分类:
其他好文 时间:
2014-09-08 11:00:57
阅读次数:
583
在Foundation框架中提供一种字典集合,它是由“键-值”对构成的集合。键集合不能重复,值集合没有特殊要求。键和值集合中的元素可以是任何对象,但是不能是nil。Foundation框架字典类也分为NSDictionary不可变字典...
分类:
编程语言 时间:
2014-09-07 22:36:06
阅读次数:
345
在Foundation框架中提供一种字典集合,它是由“键-值”对构成的集合。键集合不能重复,值集合没有特殊要求。键和值集合中的元素可以是任何对象,但是不能是nil。Foundation框架字典类也分为NSDictionary不可变字典和NSMutableDictionary可变字典。一、NSDictionary类NSDictionary有很多方法和属性,下面总结其常用的方法和属性。initWith...
分类:
编程语言 时间:
2014-09-07 22:30:25
阅读次数:
311
在Foundation框架中提供一种字典集合,它是由“键-值”对构成的集合。键集合不能重复,值集合没有特殊要求。键和值集合中的元素可以是任何对象,但是不能是nil。Foundation框架字典类也分为NSDictionary不可变字典和NSMutableDictionary可变字典。一、NSDict...
分类:
编程语言 时间:
2014-09-07 22:27:05
阅读次数:
241
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要的说, String 类型和 StringBuffer 类型的主要性能差别事实上在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候事实上都...
分类:
其他好文 时间:
2014-09-07 21:03:55
阅读次数:
177
BitVector32结构效率高,位数不可变BitArray效率低,位数可以变========================================BitArrayusingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Collections;
namespaceConso..
分类:
其他好文 时间:
2014-09-07 18:38:06
阅读次数:
294
保证并发安全性的方式有三:·不共享·不可变·同步前两种方式相对第三种要简单一些。这一篇不说语言特性和API提供的相关同步机制,主要记录一下关于共享的一些思考。共享(shared),可以简单地认为多个线程可以同时访问某个对象。如果仅仅在单线程内进行访问则不存在同步的问题..
分类:
编程语言 时间:
2014-09-07 03:25:15
阅读次数:
292
Copy & MutableCopy使用copy或mutableCopy方法可以创建一个对象的副本copy需要实现NSCoppying协议创建的是不可变副本(如NSString、NSArray、NSDictionary)mutableCopy需要先实现NSMutableCopying协议创建的是可变...
分类:
移动开发 时间:
2014-09-06 02:12:02
阅读次数:
199
字典:pytho中唯一映射类型,无序列表(哈希表)对象是可变的,但字典的键必须使用不可变对象,并且一个字典中可以使用不同类型的键值定义方法:-{}如:dic={name:‘zzc‘,age:19,gender:‘man‘}-使用工厂方法dict()列fdict=dice([‘x‘,1],[‘y‘,2])-内建方法:fromkeys()字典..
分类:
编程语言 时间:
2014-09-05 18:28:42
阅读次数:
253