oc 中的 property 属性:https://www.jianshu.com/p/85890909a81b
oc atomic 一定能保证线程安全吗?
- atomic 修饰的属性,编译器会在编译期间在 setter, getter 方法里加入一些互斥锁,保证在多线程开发,读取变量的值正确
- atomic 只能保证 setter, getter 线程安全,如 self.name = xxx。但对于 [array objectAtIndex:index] 无法保证多线程安全。
oc 中的 property 属性:https://www.jianshu.com/p/85890909a81b
oc atomic 一定能保证线程安全吗?
IOS 多线程:NSOperation & NSOperationQueue
https://www.jianshu.com/p/d973cd1acc32
主线程又称为 UI 线程。主线程一般用来刷新 UI 界面,处理 UI 事件(比如:点击、滚动、拖拽等事件)。不要将耗时的操作放在主线程
使用 NSString 时,字符串拼接我们可能使用
1 | NSString* str = @"hello"; |
但是如上方式,会使内存占用较大。NSString 有不可修改的特性,因为每次拼接都相当于申请新的内存空间,拼接的过程就是不断开辟新的内存空间的过程。拼接多次会产生大量的内存空间浪费。如何优化呢?
使用 NSMutableString 做字符串拼接
打开 core dump 开关:ulimit -c unlimited
1 |
|
如上代码会生成 core dump,我们使用如下方法进行调试
1 | ➜ [/data/home/noahyzhang/learn/core] dmesg | grep a.out |