fbpx
Wikipedia

Espera activa

En Informática, se denomina espera activa o espera ocupada a una técnica donde un proceso repetidamente verifica una condición, tal como esperar una entrada de teclado o si el ingreso a una sección crítica está habilitado. Puede ser una estrategia válida en algunas circunstancias especiales, sobre todo en la sincronización de procesos en los sistemas con múltiples procesadores (SMP). En general, debe ser evitada, ya que consume tiempo de CPU sin realizar ninguna operación.

Ejemplos

Ejemplo en ensamblador

Este código realiza la comprobación del estado de la pantalla, que se encuentra en la parte de memoria 508, cuando está disponible, es decir, cuando 508=1, continúa con la inserción de datos usando 509.

[d] LD /508 [d+1] BZ /d [d+2] LD /dato [d+3] ST /509 

Ejemplo en Código C

Este código muestra dos threads (hilos) que comparten la variable global entera i. El primer thread usa espera activa para chequear un cambio en el valor de i.

 #include <stdio.h>  #include <pthread.h>  #include <unistd.h>    volatile int i; /* i es global, por lo que es visible para todas las funciones.  También está marcada como volatile, porque cambiará  de forma que no es predecible por el compilador  (en este caso: por un hilo diferente.) */    /* t1 usa un [[spinlock]] para esperar hasta que i deje de valer 0 */  static void *f1()  {  while (i==0)  {  /* no hacer nada - sólo seguir comprobando una y otra vez */  }   printf("i's value has changed to %d.\n", i);    return;  }    static void *f2()  {  sleep(60); /* dormir 60 segundos. */  i = 99;  printf("t2 changing the value of i to %d.\n", i);    return;  }    int main()  {  int x;  pthread_t t1, t2;  i = 0; /* set global int i to 0. */    x = pthread_create(&t1, NULL, f1, NULL);  if (x != 0)  {  printf("pthread foo failed.\n");  }    x = pthread_create(&t2, NULL, f2, NULL);  if (x != 0)  {  printf("pthread bar failed.\n");  }    pthread_join(t1, NULL);  pthread_join(t2, NULL);  printf("all pthreads finished.\n");  return 0;  } 
  •   Datos: Q423003

espera, activa, informática, denomina, espera, activa, espera, ocupada, técnica, donde, proceso, repetidamente, verifica, condición, como, esperar, entrada, teclado, ingreso, sección, crítica, está, habilitado, puede, estrategia, válida, algunas, circunstancia. En Informatica se denomina espera activa o espera ocupada a una tecnica donde un proceso repetidamente verifica una condicion tal como esperar una entrada de teclado o si el ingreso a una seccion critica esta habilitado Puede ser una estrategia valida en algunas circunstancias especiales sobre todo en la sincronizacion de procesos en los sistemas con multiples procesadores SMP En general debe ser evitada ya que consume tiempo de CPU sin realizar ninguna operacion Ejemplos EditarEjemplo en ensamblador Editar Este codigo realiza la comprobacion del estado de la pantalla que se encuentra en la parte de memoria 508 cuando esta disponible es decir cuando 508 1 continua con la insercion de datos usando 509 d LD 508 d 1 BZ d d 2 LD dato d 3 ST 509 Ejemplo en Codigo C Editar Este codigo muestra dos threads hilos que comparten la variable global entera i El primer thread usa espera activa para chequear un cambio en el valor de i include lt stdio h gt include lt pthread h gt include lt unistd h gt volatile int i i es global por lo que es visible para todas las funciones Tambien esta marcada como volatile porque cambiara de forma que no es predecible por el compilador en este caso por un hilo diferente t1 usa un spinlock para esperar hasta que i deje de valer 0 static void f1 while i 0 no hacer nada solo seguir comprobando una y otra vez printf i s value has changed to d n i return static void f2 sleep 60 dormir 60 segundos i 99 printf t2 changing the value of i to d n i return int main int x pthread t t1 t2 i 0 set global int i to 0 x pthread create amp t1 NULL f1 NULL if x 0 printf pthread foo failed n x pthread create amp t2 NULL f2 NULL if x 0 printf pthread bar failed n pthread join t1 NULL pthread join t2 NULL printf all pthreads finished n return 0 Datos Q423003 Obtenido de https es wikipedia org w index php title Espera activa amp oldid 125248852, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos