Red de conocimiento informático - Aprendizaje de programación - Las diferencias entre varios tipos de subprocesos múltiples de iOS

Las diferencias entre varios tipos de subprocesos múltiples de iOS

1 subprocesos

2 operaciones de Cocoa

3 Grand Central Dispatch (GCD)

Los subprocesos son livianos y los más complejos. Necesita administrar el ciclo de vida de los subprocesos. Y la relación entre hilos usted mismo. Los subprocesos *** comparten una parte del espacio de memoria de la misma aplicación y tienen igual acceso a los datos. Debe coordinar el acceso de varios subprocesos a los mismos datos y el enfoque general es bloquear antes de acceder, lo que provocará una cierta sobrecarga de rendimiento. Podemos usar varias formas de hilos en iOS:

Hilos Cocoa: Crea un hilo usando NSThread o directamente desde el método de la clase NSObject performSelectorInBackground:withObject:. Si elige subprocesos para implementar subprocesos múltiples, NSThread es el método oficialmente preferido.

Subproceso POSIX: esta es una biblioteca de subprocesos múltiples basada en C.

Las operaciones Cocoa se implementan en función de Objective-C. La clase NSOperation encapsula las operaciones que los usuarios deben realizar. una manera orientada a objetos, por lo que solo necesitamos concentrarnos en lo que tenemos que hacer sin preocuparnos por la administración de subprocesos, la sincronización, etc., porque NSOperation ha encapsulado estas cosas para nosotros. NSOperation es una clase base abstracta y debemos usar sus subclases:

Grand Central Dispatch (GCD): compatible desde iOS4, GCD proporciona algunas características nuevas, así como una biblioteca de tiempo de ejecución.

Grand Central Dispatch (GCD): compatible desde iOS4, GCD proporciona algunas funciones nuevas y bibliotecas de tiempo de ejecución para admitir la programación paralela de múltiples núcleos, con un mayor enfoque: cómo mejorar la eficiencia en múltiples CPU.