![]() |
1
1
是的,如果您修改了cocoa绑定所观察到的对象,那么您应该只在主线程上修改,gcd将修改发送到主线程是一个很好的方法。 是的,你的应用程序可能大部分时间都运行良好,但这可能是基于运气的,实际上并不正确。问题是cocoa绑定基于键值观察,kvo通知发布在导致变异的线程上。 这也是一个复杂的问题。只要你的应用程序相对简单快速,两个线程互相冲突的可能性就小得多。想象一下当你的应用程序变得更加复杂和计算密集…一个问题出现了…但到目前为止,您可能有数百个地方可以从多个线程修改绑定属性。从长远来看,只要遵守规则,就可以省去你的悲伤。使用主线程更新绑定到对象,并尝试将绑定属性保持为不可变的值语义类型。 |
![]() |
user107586 · 如何处理等待句柄不会导致无限循环? 7 月前 |
![]() |
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 7 月前 |
![]() |
BenjiFB · C#内存缓存:在一次操作中追加到列表? 7 月前 |
![]() |
András Takács · Python多线程问题 11 月前 |
|
András Takács · Python多线程错误 12 月前 |