Programación Paralela con OmniThreadLibrary
Programación Paralela con OmniThreadLibrary
Sobre 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.
Tabla de contenidos
- 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 60 días de compra, puedes obtener un reembolso del 100% de cualquier compra Leanpub, en dos clics. Procesamos las restituciones manualmente, así que puede tomarse unos días en aparecer. Véase términos completos.
Gana $8 en una compra de $10 y $16 en una compra de $20
Pagamos 80% de regalías en compras de $7.99 o más y 80% de regalías menos una tarifa fija de 50 centavos en compras entre $0.99 y $7.98. Ganas $8 en una venta de $10 y $16 en una venta de $20. Entonces, si vendemos 5000 copias no reembolsadas de tu libro por $20, ganarás $80,000.
(Sí, algunos autores ya han ganado mucho más que eso en Leanpub.)
De hecho, los autores han ganadomás de 13 millones de dólares escribiendo, publicando y vendiendo en Leanpub.
Obtén más información sobre escribir en Leanpub
Actualizaciones gratis. Libre de DRM.
¡Si compras un libro Leanpub obtienes actualizaciones gratis siempre y cuando el autor actualice el libro! Varios autores usan Leanpub para publicar sus libros en progreso mientras los escriben. Todos los lectores obtienen actualizaciones gratis, independientemente de cuándo compraron el libro o cuánto pagaron (incluyendo si fue gratis).
La mayoría de los libros Leanpub se encuentran disponibles en PDF (para computadores) y EPUB (para teléfonos, tabletas, y Kindle). Los formatos que un libro incluye se muestran en la esquina superior derecha de esta página.
Finalmente, los libros Leanpub no tienen ninguna de las cosas sin sentido sobre protección de copia DRM, así que puedes leerlos fácilmente en cualquier dispositivo que se soporta.
Aprende más sobre los formatos de Leanpub y dónde puedes leerlos