Programación Paralela con OmniThreadLibrary
Este libro está 60% completo
Este libro ha sido actualizada por última vez el 2013-04-22.
Acerca de este libro
Este libro es sobre programación paralela con OmniThreadLibrary (otl.17slon.com), una biblioteca multi-hilos para Delphi. Puedes obtener más información sobre el libro y el estado actual de cada capítulo en thedelphigeek.com.
Encontrarás aquí mismo la versión original en Inglés: Parallel Programming with OmniThreadLibrary
Dado que este es un trabajo en progreso, usualmente pasará algunas semanas para que los nuevos capítulos publicados en la versión en Inglés estén disponibles en Español.
Table of Contents
- Créditos
- Traducción
- Acerca de jachguate
- Introducción
- Convenciones de Formato
- Trabajo en progreso
- Anuncios
- Notas de la publicación
- 1 Introducción a Multi-hilos
- 1.1 El almuerzo gratis se acabó
- 2 Introducción a OmniThreadLibrary
- 2.1 Requerimientos
- 2.2 Licencia
- 2.3 Instalación
- 2.3.1 Instalación del Paquete de tiempo de Diseño
- 2.4 ¿Por qué utilizar OmniThreadLibrary?
- 2.5 Tareas vs. Hilos
- 2.6 Bloqueo vs. Mensajería
- 2.7 TOmniValue
- 2.8 Interfaces fluidas
- 3 Multi-hilos de alto nivel
- 3.1 Introducción
- 3.1.1 Ciclo de vida de una abstracción
- 3.1.2 Métodos Anónimos, Métodos y Procedimientos
- 3.1.3 Pooling
- 3.2 Colección con bloqueos
- 3.2.1 IOmniBlockingCollection
- 3.2.2 Regulación
- 3.3 Configuración de tareas
- 3.4 Async
- 3.4.1 Manejo de Excepciones
- 3.5 Async/Await
- 3.6 Futuro
- 3.6.1 Interfaz IOmniFuture
- 3.6.2 Detectar si se ha completado
- 3.6.3 Cancelación
- 3.6.4 Manejo de Excepciones
- 3.6.5 Ejemplos
- 3.7 Join
- 3.7.1 Interfaz IOmniParallelJoin
- 3.7.2 Interfaz IOmniJoinState
- 3.7.3 Cancelación
- 3.7.4 Manejo de Excepciones
- 3.8 Tarea en paralelo
- 3.8.1 Interfaz IOmniParallelTask
- 3.8.2 Ejemplo
- 3.8.3 Manejo de Excepciones
- 3.8.4 Ejemplos
- 3.9 Trabajador en segundo plano
- 3.9.1 Conceptos básicos
- 3.9.2 Interfaz IOmniBackgroundWorker
- 3.9.3 Inicialización de la tarea
- 3.9.4 Configuración del elemento de trabajo
- 3.9.5 Interfaz del Elemento de Trabajo
- 3.9.6 Ejemplos
- 3.10 Pipeline
- 3.10.1 Contexto
- 3.10.2 Conceptos básicos
- 3.10.3 IOmniPipeline
- 3.10.4 Generadores, Mutadores y Agregadores
- 3.10.5 Regulación
- 3.10.6 Etapas paralelas
- 3.10.7 Excepciones
- 3.10.8 Ejemplos
- 3.11 For Each
- 3.11.1 Cooperación
- 3.11.2 Iterando sobre …
- 3.11.2.1 … Rangos de Números
- 3.11.2.2 … Colecciones Enumerables
- 3.11.2.3 … Colecciones enumerables multi-hilo
- 3.11.2.4 … Colecciones con Bloqueo
- 3.11.2.5 … Cualquier cosa
- 3.11.3 Proporcionar una Entrada Externa
- 3.11.4 IOmniParallelLoop
- 3.11.5 Preservar el orden de salida
- 3.11.6 Agregación
- 3.11.7 Cancelación
- 3.11.8 Inicialización y Finalización de Tarea
- 3.11.9 Manejo de excepciones
- 3.11.10 Interioridades
- 3.11.10.1 Proveedor de datos de origen
- 3.11.10.2 Gestor de datos
- 3.11.10.3 Cola local
- 3.11.10.4 Ordenación de la salida
- 3.11.11 Ejemplos
- 3.12 Fork/Join
- 3.12.1 IOmniForkJoin
- 3.12.2 IOmniCompute
- 3.12.3 IOmniCompute<T>
- 3.12.4 Excepciones
- 3.12.5 Ejemplos
- 4 Multi-hilos de bajo nivel
- 4.1 Pool de Threads (Thread Pooling)
- 4.2 Colecciones libres de Bloqueo
- 4.2.1 Pila con límites (Bounded Stack)
- 4.2.2 Cola con límites (Bounded Queue)
- 4.2.3 Cola dinámica (Dynamic Queue)
- 4.3 Tareas Simples
- 4.3.1 Comunicación
- 4.3.2 Invoke
- 4.3.3 Excepciones
- 4.3.4 MonitorWith
- 4.3.5 Cancellation Token / CancelWith
- 4.3.6 Lock / WithLock
- 4.3.7 Counter / WithCounter
- 4.3.8 Task Group
- 5 Sincronización
- 5.1 Critical Sections
- 5.1.1 IOmniCriticalSection
- 5.1.2 TOmniCS
- 5.1.3 Locked
- 5.1.3.1 ¿Por qué no utilizar TMonitor?
- 5.2 TOmniMREW
- 5.3 Token de Cancelación
- 5.4 Valor con espera
- 5.5 Semáforo Inverso
- 5.6 Inicialización
- 5.6.1 Inicialización Pesimista
- 5.6.2 Inicialización Optimista
- 6 Miscelaneos
- 6.1 TOmniValue
- 6.2 TOmniCounter
- 6.3 TGp4AlignedInt y TGp8AlignedInt64
- 7 How-to
- 7.1 Barrido de archivos en segundo plano
- 7.2 Async/Await
- 7.3 Descarga Web y Almacenamiento en Base de Datos
- 7.4 For paralelo con Salida Sincronizada
- 7.5 Trabajador en segundo plano y Particionado de Lista
- 7.6 Producción de datos en paralelo
- 7.7 Construir un pool de conexiones
- 7.7.1 De la teoría a la práctica
- 7.7.2 Ejecutando la demo
- 7.8 QuickSort y Max Paralelo
- 7.8.1 QuickSort
- 7.8.2 Max Paralelo
- 7.9 Búsqueda Paralela en un Árbol
- 7.10 Múltiples Trabajadores con Múltiples Frames
- 7.10.1 El Trabajador
- 7.10.2 El Frame
- 7.10.3 El Formulario
- 7.11 OmniThreadLibrary y Bases de Datos
- 7.11.1 Modelo de Base de Datos
- 7.11.2 Frame y Trabajador
- 7.11.2.1 Conectar a la Base de Datos
- 7.11.2.2 Recuperando Datos
- 7.11.3 Programa Principal
- 7.12 OmniThreadLibrary y COM/OLE
- 8 Glosario
- 9 Aplicaciones Demo
Otros libros de estos autores
Leanpub incondicional, sin riesgo, 100% de felicidad garantizada
Durante los primeros 45 días de compra, puede obtener un reembolso del 100% de cualquier compra Leanpub, en dos clics. Nosotros procesamos las restituciones a la mano, así que hacen tomar unos días en aparecer. Vea términos completos.