由于从不同的队列和线程同时访问了相同的代码,所以我不能使用串行队列或屏障作为队列,因为队列只会阻塞访问共享资源的单个队列,而不会阻塞其他队列。我使用objc_sync_enter(object) | objc_sync_exit(object)和锁NSLock() or NSRecursiveLock()来保护共享资源,但这些也不起作用。当我在目标C中使用@synchronized()关键字来保护共享资源时,它运行得很好,而且我没有在特定的代码块中获得竞争条件。因此,我们不能在Swift语言中使用@syn