Fundamentos de Hilos en Java

La concurrencia en Java se maneja principalmente a través de su API de Hilos (Threads), que permite la ejecución simultánea de múltiples tareas. Esto optimiza el uso de la CPU y mejora el rendimiento general de las aplicaciones. Conceptos Clave Procesos vs. Hilos Proceso: Unidad de asignación de recursos del sistema operativo. Hilo: Unidad de ...

Publicado el 7-28 17:28

Volatilidad y Reordenamiento de Instrucciones en Java

Visibilidad de Memoria La visibilidad de memoria es un factor crítico en la seguridda de hilos. Considere este ejemplo donde un hilo (t1) permanece en bucle hasta que otro (t2) modifica una variable compartida: private static int valor; public static void main(String[] args) { Thread t1 = new Thread(() -> { while (valor == 0) {} ...

Publicado el 7-27 08:01

Manejo de Variables Locales por Hilo con ThreadLocal en Java

La clase ThreadLocal en Java ofrece un mecanismo para almacenar datos que son específicos de un hilo de ejecución. A diferencia de las variables normales compartidas entre hilos, una variable ThreadLocal proporciona una copia independiente de su valor para cada hilo que accede a ella. Esto significa que cada hilo opera sobre su propia versión d ...

Publicado el 7-24 23:41

Concurrencia en Go: Cómo resolver problemas de concurrencia con Golang

Como desarrollador backend, paso la mayor parte del tiempo trabajando con PHP y Go. Sin duda, PHP es práctico y rápido para prototipar, especialmente en el modo php‑fpm tradicional (un proceso por petición). Sin embargo, para servicios de streaming en vivo con alta concurrencia, PHP se quedaba corto. Aunque existen alternativas como Swoole, su ...

Publicado el 7-24 03:03

Simulación Java Multihilo del Bucle Temporal en la Película 'Triangle'

Este programa emplea Java multihilo para replicar el ciclo central de la película 'Triangle', utilizendo conceptos como hilos que escapan, contaminación de recursos compartidos y recursión infinita. import java.util.*; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicInteger; /** * Simulación del bucle temporal de 'Tria ...

Publicado el 7-23 18:59

Fundamentos de Hilos en Java

La concurrencia en Java se maneja principalmente a través de su API de Hilos (Threads), que permite la ejecución simultánea de múltiples tareas. Esto optimiza el uso de la CPU y mejora el rendimiento general de las aplicaciones. Conceptos Clave Procesos vs. Hilos Proceso: Unidad de asignación de recursos del sistema operativo. Hilo: Unidad de ...

Publicado el 7-22 03:12

Gestión de Hilos en Java: Profundizando en los `ThreadPoolExecutor`

La creación y destrucción de hilos son operaciones costosas en términos de recursos del sistema. Además, el cambio de contexto entre hilos requiere una frecuente intervención de la CPU, lo que subraya la ineficiencia de crear un nuevo hilo para cada tarea. Para optimizar el uso de recursos y mejorar el rendimiento de aplicaciones concurrentes, ...

Publicado el 7-21 19:45

Implementación de un Pool de Memoria de Alta Concurrencia en C++

Introducción del Proyecto Este proyecto se enfoca en construir un pool de memoria de alta concurrencia inspirado en tcmalloc (Thread-Caching Malloc) de Google. La implementación simplificada busca capturar la esencia de tcmalloc, que es conocido por su eficiencia en entornos multihilo. Los conocimientos previos requeridos incluyen programación ...

Publicado el 7-20 10:19

Acceso concurrente asíncrono con aiohttp en Python y manejo de URL dependientes

Uso de programación asíncrona para acceso concurrente: aiohttp La mayoría de las veces, simplemnete necesitarás acceder a una URL específica, usando directamente el método asíncrono de aiohttp. Sin embargo, a veces es necesario acceder a múltiples niveles de URL donde el siguiente nivel depende del resultado del anterior, requiriendo esperar a ...

Publicado el 7-19 06:58

Desarrollo Embebido: Evolución de Bare-Metal a RTOS y Criterios Prácticos

Limitaciones Críticas del Desarrollo Bare-Metal La programación bare-metal ejecuta aplicaciones directamente sobre el hardware sin sistema operativo. Aunque sencilla inicialmente, presenta desafíos en proyectos complejos. Falsa Concurrencia y Desperdicio de CPU El superloop central secuencial fuerza esperas bloqueantes que subutilizan el proces ...

Publicado el 7-18 18:09