c sleep how use sleep function c programs
Este tutorial de suspensión de C ++ discutirá la función de suspensión en C ++ y verá cómo poner un hilo en suspensión. También aprenderemos sobre las otras funciones a saber. tu duerme:
Cualquier programa de computadora que sea un proceso, tarea o subproceso puede 'dormir' o entrar en un estado inactivo durante un tiempo específico. La ejecución se suspende, por este período de tiempo. La ejecución se reanudará cuando expire el intervalo de tiempo de suspensión o una señal o interrupción provoque la reanudación de la ejecución.
Para poner un programa (tarea, proceso o subproceso) en suspensión, hacemos uso de una llamada al sistema de suspensión. Una llamada típica al sistema de suspensión toma el tiempo como parámetro que indica cuánto tiempo necesita el programa para dormir o permanecer inactivo.
=> Consulte la serie completa de capacitación en C ++ aquí.
También tenemos las funciones usleep () e thread :: sleep que discutiremos en este tutorial. El tiempo proporcionado es mayoritariamente en milisegundos, microsegundos o segundos y dependiendo de eso tenemos varias funciones que pueden poner el programa en reposo.
Lo que vas a aprender:
- Función Sleep ()
- Función Usleep ()
- Thread Sleep (sleep_for y sleep_until)
- Preguntas frecuentes
- Conclusión
- Lectura recomendada
Función Sleep ()
El lenguaje C ++ no proporciona una función de suspensión propia. Sin embargo, los archivos específicos del sistema operativo como unistd.h para Linux y Windows.h para Windows proporcionan esta funcionalidad.
Cuando usamos el sistema operativo Linux o UNIX, necesitamos incluir el archivo de encabezado 'unistd.h' en nuestro programa para usar el dormir () función.
Mientras usamos el sistema operativo Windows, tenemos que incluir el encabezado 'Windows.h' para usar la función sleep (). Entonces, para escribir un programa multiplataforma, podemos tener el código como se muestra a continuación para que se use cualquiera de los encabezados.
|_+_|La función de suspensión se describe a continuación:
Prototipo de función:
sueño sin firmar (segundos sin firmar);
Parámetros:
segundos => Período de tiempo en segundos durante el cual se suspende la ejecución del programa
Valor devuelto:
0 => Si vuelve a dormir cuando ha transcurrido el tiempo solicitado.
Si el sueño es interrumpido por una señal, se devuelve una cantidad no dormida (período de tiempo solicitado especificado menos el tiempo real transcurrido).
Descripción:
La función sleep () hace que el programa o el proceso en el que es llamado, suspenda su ejecución temporalmente por un período de tiempo en segundos especificado por el parámetro de la función. La ejecución se suspende hasta que transcurre el tiempo solicitado o se envía una señal o una interrupción a la función.
Sin embargo, si el sistema ha programado alguna otra actividad, el tiempo de suspensión puede ser mayor.
A continuación se muestra un programa en C ++ que usa la función de suspensión entre dos declaraciones cout.
preguntas y respuestas de la entrevista del desarrollador sql pdf|_+_|
Producción:
Hola Mundo
En el programa anterior, damos un comando de suspensión con un período de 10 segundos después de imprimir 'Hola'. El compilador espera 10 segundos después de imprimir 'Hola' y luego imprime el 'Mundo'.
Nota: Los lectores deben ejecutar este programa para comprender realmente el funcionamiento del comando de suspensión.
Función Usleep ()
El encabezado 'unistd.h' proporciona otra función 'usleep ()' que puede suspender la ejecución de un programa durante un período de tiempo específico. El funcionamiento es similar a la función sleep () ya descrita.
Prototipo de función: int usleep (useconds_t useconds);
Parámetros: useconds => Número de microsegundos por los que se suspende la ejecución
Valor devuelto:
0 => Usleep ha regresado con éxito.
-1 & errno => Falló la función.
Descripción:
La función usleep () suspende la ejecución del hilo de llamada durante microsegundos de segundos de uso o hasta que la señal se envía al hilo que interrumpe la ejecución.
La granularidad de los valores de temporizador utilizados en la función usleep puede ser específica de la implementación. Si necesitamos una granularidad más fina que la especificada por la implementación, entonces el valor real del temporizador se redondea al siguiente valor admitido.
A continuación se muestra un ejemplo para demostrar la función usleep ().
|_+_|Producción:
Hola Mundo
Como se muestra en la salida anterior, especificamos el período de tiempo como 10000 microsegundos para la función de suspensión y, al igual que el programa anterior que usa la función de suspensión, imprimimos la cadena 'Hola mundo'.
Thread Sleep (sleep_for y sleep_until)
C ++ 11 proporciona funciones específicas para poner un hilo en suspensión.
Hay dos funciones:
Std :: this_thread :: sleep_for
Prototipo de función:
|_+_|Parámetros: sleep_duration => Duración del sueño
Valor devuelto: ninguno
Descripción: La función sleep_for () se define en el encabezado. La función sleep_for () bloquea la ejecución del hilo actual al menos durante el tiempo especificado, es decir, sleep_duration.
Esta función puede bloquearse durante más tiempo que un tiempo especificado debido a actividades de programación o retrasos en la contención de recursos.
A continuación, se muestra un ejemplo de C ++ que demuestra el uso de sleep_for:
|_+_|Producción:
Hola, estoy esperando ...
Esperado 2000 ms
En el programa anterior, tenemos una duración de suspensión especificada de 20000 milisegundos. Esto significa que el hilo se bloqueará durante 20000 milisegundos antes de reanudar la operación.
Std :: this_thread :: sleep_until
Prototipo de función:
|_+_|Parámetros: sleep_time => Tiempo de duración hasta el que se bloqueará el hilo.
Valor devuelto: ninguno
Descripción: Esta función está definida en el encabezado. La función sleep_until () bloquea la ejecución de un hilo hasta que transcurre el sleep_time. Al igual que las otras funciones, esta función también puede bloquearse durante más tiempo que un tiempo especificado debido a actividades de programación o retrasos en la contención de recursos.
A continuación se proporciona un programa en C ++ para la función sleep_until.
|_+_|Producción:
Hora actual :: Thu Sep 19 12:52:01 2019
Durmiendo hasta: Jue., 19 de septiembre 12:53:01 2019
Desperté… Hora actual: Jue., 19 de septiembre 12:53:01 2019
En este programa, hacemos que el hilo duerma durante 60 segundos, es decir, 1 minuto. Una vez que se completa 1 minuto; el hilo se despierta e imprime la hora actual.
Preguntas frecuentes
P # 1) ¿Qué hace sleep () en C ++?
Responder: La función Sleep () suspende la ejecución del programa durante un período de tiempo específico. Este período de tiempo se especifica como un argumento para la función sleep ().
P # 2) ¿Cuál es el archivo de encabezado para dormir en C ++?
Responder: El encabezado de suspensión es 'unistd.h' para el sistema operativo LINUX / UNIX y 'Windows.h' para el sistema operativo Windows. Para el hilo de suspensión que usa las funciones 'sleep_for' y 'sleep_until', se usa el encabezado.
P # 3) ¿Cuál es el uso de #include Unistd H?
Responder: El encabezado 'Unistd.h' es el encabezado que define la función sleep () para suspender la ejecución del programa.
Conclusión
En este tutorial para la función sleep (), hemos discutido la función sleep y la función usleep () que es lo mismo que las funciones sleep y thread sleep, sleep_for y sleep_until. Las funciones Sleep () y usleep () son las mismas, excepto por la unidad de tiempo utilizada para especificar el tiempo de suspensión.
En la función sleep (), el tiempo se especifica en segundos, mientras que en la función usleep (), el tiempo se especifica en microsegundos. Las funciones de hilo sleep_for () suspende la ejecución del hilo durante un período de tiempo específico proporcionado como argumento. La función del segundo hilo sleep_until () suspende la ejecución del hilo hasta que haya transcurrido un tiempo especificado.
Lectura sugerida = >> ¿Qué es Thread Testing?
Todas las funciones de suspensión discutidas pueden tardar más en volver, según la programación u otros retrasos específicos de los recursos.
=> Lea la popular serie de capacitación en C ++ aquí.
Lectura recomendada
- Tutorial de la función principal de Python con ejemplos prácticos
- Múltiples subprocesos en C ++ con ejemplos
- 10 mejores software de reloj de tiempo gratuito para el seguimiento del tiempo de los empleados
- Tutorial de QTP n. ° 21: cómo hacer que las pruebas de QTP sean modulares y reutilizables usando acciones y bibliotecas de funciones
- Funciones en C ++ con tipos y ejemplos
- Comandos de programas de utilidades de Unix: Which, Man, Find Su, Sudo (Parte D)
- Oportunidad de trabajo independiente a tiempo parcial para expertos en selenio
- Las 10 MEJORES aplicaciones de seguimiento del tiempo para autónomos (2021 SELECTIVA)