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