我有一段代码经常被主线程或其他几个后台线程访问。我需要确保一次只处理一个代码。我目前正在使用@synchronized(self){}block,但我不确定它是否提供了正确的保护。它与NSLock实例有何不同?最后,有人可以建议我如何保护我的方法吗?该方法在我的应用程序委托(delegate)中,我通过调用从各种线程访问它:[[[UIApplicationsharedApplication]delegate]myMethod];非常感谢,迈克 最佳答案 GoogleMac博客上有一篇关于@synchronized内部工作原理的精彩博