Diferencia entre el proceso y el subproceso del kernel

1. Proceso: El proceso es una actividad de ejecutar un programa. El proceso es de dos tipos: proceso de usuario y proceso del sistema. El bloque de control de procesos controla el funcionamiento del proceso. 2. Subproceso del kernel: El subproceso del kernel es un tipo de subproceso en el que los subprocesos de un … Continue reading «Diferencia entre el proceso y el subproceso del kernel»

Ordenar por fusión usando subprocesos múltiples

Merge Sort es una técnica de clasificación popular que divide una array o lista en dos mitades y luego comienza a fusionarlas cuando se alcanza la profundidad suficiente. La complejidad de tiempo del ordenamiento por fusión es O(nlogn). Los subprocesos son procesos livianos y los subprocesos comparten con otros subprocesos su sección de código, sección … Continue reading «Ordenar por fusión usando subprocesos múltiples»

Suma de una array usando pthreads

La suma de la array es un pequeño problema en el que tenemos que agregar cada elemento de la array recorriendo toda la array. Pero cuando la cantidad de elementos es demasiado grande, puede llevar mucho tiempo. Pero esto podría resolverse dividiendo la array en partes y encontrando la suma de cada parte simultáneamente, es … Continue reading «Suma de una array usando pthreads»

Tarea empaquetada | C++ avanzado (multiproceso y multiprocesamiento)

La clase std:: packaged_task envuelve cualquier objeto invocable (función, expresión lambda, expresión de enlace u otro objeto de función) para que puedan invocarse de forma asincrónica. Una tarea empaquetada no se iniciará por sí sola, debe invocarla, ya que su valor de retorno se almacena en un estado compartido al que pueden llamar/acceder los objetos … Continue reading «Tarea empaquetada | C++ avanzado (multiproceso y multiprocesamiento)»

Imprimir números en secuencia usando la sincronización de subprocesos

El problema es sincronizar n número de subprocesos utilizando la biblioteca pthread. La idea es tomar el número de hilos e imprimir 1 en el primer hilo, imprimir 2 en el segundo hilo, imprimir 3 en el tercer hilo, ….. imprimir n en el enésimo hilo y nuevamente repetir desde el hilo 1 infinitamente. Requisito previo: … Continue reading «Imprimir números en secuencia usando la sincronización de subprocesos»

Clasificación de transposición par impar/clasificación de bloques usando pthreads

La ordenación por transposición par-impar es un algoritmo de ordenación en paralelo . Se basa en la técnica Bubble Sort , que compara cada 2 números consecutivos en la array y los intercambia si el primero es mayor que el segundo para obtener una array de orden ascendente. Consta de 2 fases: la fase impar … Continue reading «Clasificación de transposición par impar/clasificación de bloques usando pthreads»

Hilo de la función hardware_concurrency() en C++

Thread::hardware_concurrency es una función integrada en C++ std::thread. Es una función de observador, lo que significa que observa un estado y luego devuelve la salida correspondiente. Esta función devuelve el número de subprocesos simultáneos admitidos por la implementación de hardware disponible. Es posible que este valor no siempre sea exacto. Sintaxis: thread::hardware_concurrency() Parámetros: Esta función … Continue reading «Hilo de la función hardware_concurrency() en C++»

Máximo en una array 2D usando subprocesos múltiples en C++

Dada una array 2-D, encuentre el elemento que tiene el valor máximo usando subprocesos múltiples. Requisito previo: Ejemplos de subprocesos múltiples : Input : {{1, 5, 3, 6}, {22, 10, 4, 34}, {4, 45, 67, 3}, {69, 3, 23, 3}} Output :69 Input :{{1, 2, 3} {2, 4, 5}} Output :5 A matrix can be … Continue reading «Máximo en una array 2D usando subprocesos múltiples en C++»

Determinante de la array N x N utilizando subprocesos múltiples

Dada una array de N x N, la tarea es encontrar el determinante de la array utilizando subprocesos múltiples. Ejemplos:   Input : mat = {{0, 4, 0, -3}, {1, 1, 5, 2}, {1, -2, 0, 6}, { 3, 0, 0, 1}} Output : -250 Input : mat = {{1, 0, 2, -1}, {3, 0, 0, … Continue reading «Determinante de la array N x N utilizando subprocesos múltiples»

Compartir una cola entre tres hilos

Comparta una cola entre tres subprocesos A, B, C según las normas dadas:  El subproceso A genera números enteros aleatorios y los empuja a una cola compartida. Los subprocesos B y C compiten entre sí para obtener un número entero de la cola. Los subprocesos B y C calculan la suma de los números enteros … Continue reading «Compartir una cola entre tres hilos»