Tiene cada hilo una cola de envío asociada por defecto? Me pregunto si podría usar dispatch_semaphore
s en cada contexto, o si necesito envolverlo en una llamada de despacho explícita con una cola definida.¿Tiene cada NSThread automáticamente una cola de despacho?
Respuesta
Realmente no funciona de la manera que su pregunta lo implica. De forma predeterminada, hay una cola de distribución principal asociada con el hilo principal y tres colas globales (alta, predeterminada y baja prioridad, respectivamente) que son concurrentes.
Las colas concurrentes administran sus propios recursos de subprocesos, en lugar de asociarse con ningún subproceso en particular.
De hecho, se dice muy específicamente en la página del manual de dispatch_queue_create()
:
“colas no están vinculados a ningún hilo específico de ejecución y bloques presentados a las colas independientes pueden ejecutar al mismo tiempo.”
En cuanto a si puede usar semáforos de despacho fuera de las colas de despacho (la otra parte de su pregunta), la respuesta es sí, puede. Se implementan encima de los semáforos Mach y deberían funcionar en todas partes. Puede ver el código aquí:
http://opensource.apple.com/source/libdispatch/libdispatch-84.5.5/src/semaphore.c
- 1. ¿Tiene C++ cola estándar?
- 2. ¿Cuál es la forma correcta de liberar una propiedad de cola de despacho de GCD?
- 3. ¿Cómo detener la ejecución de tareas en una cola de despacho?
- 4. ¿Qué propiedad debo usar para una Cola de despacho después de ARC?
- 5. ¿CLOS tiene un despacho de especialización eql en cadenas?
- 6. Usando NSThread dormir en una NSOperation
- 7. ¿Tiene R una cola de prioridad como PriorityQueue de Java?
- 8. ¿Java tiene una cola de prioridad mínima indexada?
- 9. Despacho MouseEvent
- 10. mesa virtual/mesa de despacho
- 11. Despacho funciones
- 12. Equivalente de la cola de despacho serial de GCD en iOS 3.x
- 13. NSThread con _NSAutoreleaseNoPool error
- 14. ¿Qué estructura (s) de datos respaldar una cola de Final Fantasy ATB? (una cola de espera)
- 15. interacción NSThread y UIViewController
- 16. NSThread VS pthreads
- 17. Despacho múltiple en C++
- 18. ¿Cómo guardar una imagen de Pharo automáticamente cada hora?
- 19. NSThread vs. NSOperationQueue vs. ??? en el iPhone
- 20. Grand Central Dispatch vs NSThread
- 21. ¿Qué sucede con un Bloque que se ejecuta en una Cola de Despacho de GCD si la aplicación finaliza?
- 22. ¿Despacho doble en C#?
- 23. Agregando console.log a cada función automáticamente
- 24. ¿Cuántos 'núcleos CUDA' tiene cada multiprocesador de una GPU?
- 25. Despacho de eventos JDI nullpointerexception
- 26. Sincronización de una cola
- 27. Incluye automáticamente un JSP en cada JSP
- 28. Ordenando una cola usando la misma cola
- 29. Administrador de ubicación se creó en una cola de envío
- 30. Tiene problemas con repeatinterval cada 30 minutos