在CALayer.draw和主线程之间进行线程同步的最佳方法是什么?

时间:2019-06-07 08:59:14

标签: objective-c swift grand-central-dispatch calayer

我正在尝试在主线程和正在渲染CALayer的线程之间进行同步。一种简单的方法是使用NSLock,但我想利用GCD队列。

是否有创建DispatchQueue并将其与给定线程关联的方法?

据我了解,应该可以创建一个新的DispatchQueue(不与任何内容相关联)并在一个线程中使用.async,而在另一个线程的同一队列中调用.sync线程,应该在线程之间提供安全的交换。例如,主线程想要将一些数据传递给CALayer线程:它在其.async块内写入数据,而该层则在.sync块内读取数据。但这似乎有点过头了,我不确定它是否最有效。

0 个答案:

没有答案