2010-05-11 10 views
16

ho due metodiobjective-c: @synchronized, come funziona?

-(void) a { 
    @synchronized(self) { 
     // critical section 1 
    } 
} 

-(void) b { 
    @synchronized(self) { 
     // critical section 2 
    } 
} 

ora la mia domanda è se un thread è in sezione critica 1. intende la sezione critica 2 essere bloccato per altri thread o altri fili può accedere sezione critica 2.

+1

perché non contrassegnare la risposta migliore? –

risposta

28

Critical la sezione 2 verrà bloccata anche su altri thread, dal momento che si sta eseguendo la sincronizzazione sullo stesso oggetto (self).

Problemi correlati