4.多线程基础(四) 线程的状态,安全性

1.线程的状态

4.多线程基础(四) 线程的状态,安全性_第1张图片
image.png

2.多线程的安全隐患

4.多线程基础(四) 线程的状态,安全性_第2张图片
image.png

3.多线程的同步问题

image.png

//没有加锁之前


4.多线程基础(四) 线程的状态,安全性_第3张图片
image.png

//加锁之后:

4.多线程基础(四) 线程的状态,安全性_第4张图片
image.png

下面不是唯一的:

4.多线程基础(四) 线程的状态,安全性_第5张图片
image.png
4.多线程基础(四) 线程的状态,安全性_第6张图片
image.png

4.原子属性和非原子属性:

4.多线程基础(四) 线程的状态,安全性_第7张图片
image.png

image.png

总结原子属性和非原子属性:

iOS开发的建议
所有属性都声明为nonatomic
尽量避免多线程抢夺同一块资源
尽量将加锁、资源抢夺的业务逻辑交给服务器端处理,减小移动客户端的压力

你可能感兴趣的:(4.多线程基础(四) 线程的状态,安全性)