Colección de citas famosas - Slogan de motivación - ¿El desarrollo de tipos int en iOS requiere bloqueos de subprocesos?

¿El desarrollo de tipos int en iOS requiere bloqueos de subprocesos?

Hay varias formas de bloquear hilos de iOS:

Bloqueos implementados por NSLock.

NSLock es el objeto de bloqueo más básico proporcionado por Cocoa, que usamos con frecuencia. Además de los métodos de bloqueo y desbloqueo, NSLock también proporciona tryLock y lockBeforeDate: el método anterior intentará bloquear si el bloqueo no está disponible (ya está bloqueado), no bloqueará el hilo y devolverá No. LockBeforeDate: este método lo hará. intente bloquear antes de especificar Bloqueado antes de la fecha, si no se puede bloquear antes de la hora especificada, devuelva No.

Bloqueo creado con la palabra clave sincronizada

El obj utilizado por @ La directiva sincronizada es el identificador único del bloqueo. La exclusión mutua sólo puede satisfacerse si los identificadores son los mismos. Si @synchronized(obj) en el subproceso 2 se cambia a @synchronized(other), el subproceso 2 no se bloqueará. La ventaja de la directiva @synchronized para implementar bloqueos es que no necesitamos crear explícitamente el objeto de bloqueo en el código. Puede implementar un mecanismo de bloqueo, pero como precaución, el bloque @synchronized agregará implícitamente un controlador de excepciones para proteger el código, que liberará automáticamente el mutex cuando se produzca la excepción. Entonces, si no desea la sobrecarga adicional de las rutinas de manejo de excepciones implícitas, puede considerar el uso de objetos de bloqueo.