2010-05-11 38 views
16

tôi có hai phương phápobjective-c: @synchronized, nó hoạt động như thế nào?

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

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

bây giờ câu hỏi của tôi là nếu a thread là trong phần quan trọng 1. sẽ phần quan trọng 2 được khóa cho chủ đề khác hoặc chủ đề khác có thể truy cập vào phần quan trọng 2.

+1

tại sao không đánh dấu câu trả lời hay nhất? –

Trả lời

28

Critical phần 2 cũng sẽ bị chặn đối với các chủ đề khác, vì bạn đang đồng bộ hóa trên cùng một đối tượng (self).

Các vấn đề liên quan