En Objective-C, puede declarar un bloque como sincronizado en algún objeto utilizando el constructo @synchronized
. Se vería algo como esto:@synchronized en un método estático
@synchronized (self) {
// Do something useful
}
Sin embargo, tengo curiosidad qué es exactamente self
se refiere a cuando se tiene un método estático (+
en lugar de -
). Intenté buscar en los documentos de Apple y aluden a que está bien, pero realmente no lo explico. Sé que funciona, solo tengo curiosidad por lo que significa.
Gracias. Sé que había algo simple que me estaba perdiendo. – Itay
Tenga en cuenta que @synchronized (self) en un método de clase puede ser peligroso porque para las subclases self es un objeto diferente (clase) por lo que aún puede haber acceso concurrente al método entre esas dos clases –