que tienen un subproceso de trabajo que yo quiero hacer un poco de su tarea, a continuación, hacer una pausa & espera para el comando "ok, continuará" de otro hilo, a continuación, hacer una pausa & de espera, etc.¿Cómo pausar un NSThread hasta que se notifique?
El caso de uso es: el objeto de control es una vista que quiero mostrar información sobre lo que está sucediendo dentro del hilo de trabajo, y me permite "pasar un solo paso" a través del trabajador como lo hace.
Lo más feo y torpe que tengo en mi trabajador es la siguiente:
NSLog(@"paused");
paused = YES;
while (paused)
{
[NSThread sleepForTimeInterval:0.25];
}
NSLog(@".. continuing");
... pero no puedo evitar pensar que tiene que haber una manera más agradable, tal vez la participación NSLocks , o algo así.
Comentarios, sugerencias sugerencias?
Gracias!
Exactamente lo que necesitaba. Gracias. – Olie
También tenga en cuenta, para futuros spelunkers: 'NSConditionLock', donde se hace algo como' [condition lockWhenCondition: suppliesAvailable]; mySupplies = [contenido de supplyQueue]; [supplyQueue removeAllSupplies]; [condición unlockWithCondition: noSuppliesAvailable]; // gastar mySupplies como se desee' es un patrón muy útil. En mi caso, en lugar de partySupplies, lo tengo como datos que necesitan procesamiento. QED. – Olie
+1 para comenzar la fiesta. : D Gran uso de partySuppliesAvailable y // party! – Alexandru