gpt4 book ai didi

objective-c - 客观的: @synchronized how does it work [duplicate]

转载 作者:行者123 更新时间:2023-12-03 13:14:49 28 4
gpt4 key购买 nike

这个问题已经在这里有了答案:




已关闭8年。




Possible Duplicate:
objective-c : @synchronized, how does it work?



当我有三种方法时:
    -(void)  a {
@synchronized(self) {
//part a
}
}

-(void) b {
@synchronized(self) {
//part b
}

-(void) c {
// part c
}

并且线程在a部分中,那么c部分是否会被其他线程阻塞?

最佳答案

@synchronized块彼此交互。只要一个线程正在执行AB的一部分,其他任何线程都不能输入AB的一部分。 C部分不受此影响。

您在上面的新评论使您实际上想知道的更加清楚。

@synchronized(self)中,self并不是被自身锁定的东西,它被用作一种锁,以确保一次仅一个线程可以进入@synchronized块。

正如official documentation解释的那样:您可以将任何对象用作信号量。

chapter on synchronization全面描述了所有可用的锁定选项btw。

关于objective-c - 客观的: @synchronized how does it work [duplicate],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7832955/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com