采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好!有两个问题想请教一下您。 问题一:读操作为什么要同步读取?咱们的要求不是可以同时读吗?那不是应该使用dispatch_async方法吗? 问题二:这个多读单写需求,我用@synchronized(self) 这个锁,对get和set方法同时加锁,也能实现。这种实现方式和使用栅栏函数有什么区别吗?还请老师讲一下,谢谢老师
第一个问题,我觉得你对多线程的几基本概念还需要补充一下,以同步到并发队列方式才能保证同时有多个线程在读,之所以用同步是你读取的结果要立刻返回给调用方。第二个问题,用你所说方式做并发 相当于同一时间只有一个线程在操作,即读读互斥,读写互斥,写写互斥。我们要实现的效果是读读并发,读写互斥,写写互斥。
谢谢老师,受益匪浅!
你好老师,请问为什么立刻返回给调用方就要用dispatch_sync?dispatch_async不是立刻吗
Sync的意思是在当前线程执行,async的意思是立刻把block加入到队列,但是异步到其他线程执行
登录后可查看更多问答,登录/注册
从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系
1.3k 11
1.9k 9
1.2k 9
1.0k 8
968 8