Programación Paralela con OmniThreadLibrary
Programación Paralela con OmniThreadLibrary
Sobre el 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.
Índice
- 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
Garantía de satisfacción 100% de Leanpub por 60 días
Durante los 60 días posteriores a la compra, puedes obtener un reembolso del 100% en cualquier compra de Leanpub, en dos clics.
Técnicamente, esto es arriesgado para nosotros, ya que tendrás los archivos del libro o curso de cualquier manera. Pero estamos tan seguros de nuestros productos y servicios, y de nuestros autores y lectores, que nos complace ofrecer una garantía de devolución total del dinero para todo lo que vendemos.
Solo puedes descubrir qué tan bueno es algo probándolo, y debido a nuestra garantía de devolución del 100% del dinero, ¡literalmente no hay riesgo al hacerlo!
Entonces, no hay razón para no hacer clic en el botón Agregar al carrito, ¿verdad?
Ver términos completos...
Gane $8 por una compra de $10, y $16 por una compra de $20
Pagamos regalías del 80% en compras de $7.99 o más, y regalías del 80% menos una tarifa fija de 50 centavos en compras entre $0.99 y $7.98. Usted gana $8 en una venta de $10, y $16 en una venta de $20. Así que, si vendemos 5000 copias no reembolsadas de su libro por $20, usted ganará $80,000.
(Sí, algunos autores ya han ganado mucho más que eso en Leanpub.)
De hecho, los autores han ganadomás de $14 millones escribiendo, publicando y vendiendo en Leanpub.
Aprenda más sobre escribir en Leanpub
Actualizaciones gratuitas. Sin DRM.
¡Si compras un libro de Leanpub, recibirás actualizaciones gratuitas mientras el autor actualice el libro! Muchos autores utilizan Leanpub para publicar sus libros mientras los escriben. Todos los lectores reciben actualizaciones gratuitas, sin importar cuándo compraron el libro o cuánto pagaron (incluso si fue gratis).
La mayoría de los libros de Leanpub están disponibles en PDF (para computadoras) y EPUB (para teléfonos, tabletas y Kindle). Los formatos incluidos en un libro se muestran en la esquina superior derecha de esta página.
Finalmente, los libros de Leanpub no tienen ninguna protección DRM sin sentido, por lo que puedes leerlos fácilmente en cualquier dispositivo compatible.
Aprende más sobre los formatos de ebook de Leanpub y dónde leerlos