QUÉ ES UN HILO
Enviado por Erick1029384756 • 2 de Octubre de 2014 • Prácticas o problemas • 447 Palabras (2 Páginas) • 141 Visitas
¿QUÉ ES UN HILO?
Un hilo de ejecución, hebra o subproceso es la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo.
La creación de un nuevo hilo es una característica que permite a una aplicación realizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente.
¿QUÉ ES UN MULTIHILO?
Un programa multihilo contiene dos o más partes que se pueden ejecutar de manera concurrente o simultánea.
¿QUE ES UN SERVICIO POSIX?
POSIX (Interfaz de sistema operativo portable) es una librería que ase que los hilos funcionen
¿COMO ESTA COMPUESTOS LOS HILOS Y SERVICIOS POSIX?
• Los hilos por:
Área de pila
Contador de programas
Dispositivos de entrada y salida
Microprocesador
Espacios de memoria
Registros
• Servicios POSIX por:
Inicia un objeto atributo de tipo pthread_attr_t con las propiedades que tendrán los hilos que se creen posteriormente. los atributos permiten especificar tamaño de pila, prioridad, política de planificación, etc.
DA UN EJEMPLO RELACIONANDO LAS DEFINICIONES ANTERIORES
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
void *thread_function(void *arg) {
int i;
for ( i=0; i<20; i++ ) {
printf("Thread says hi!\n");
sleep(1);
}
return NULL;
}
int main(void) {
pthread_t mythread;
if ( pthread_create( &mythread, NULL, thread_function, NULL) ) {
printf("error creating thread.");
abort();
}
...