Perbezaan antara usleep dan sleep dalam Linux: Fungsi sleep digunakan untuk melakukan penggantungan untuk bilangan saat yang ditentukan, manakala fungsi usleep digunakan untuk melakukan penggantungan untuk bilangan mikrosaat yang ditentukan. tidur ialah panggilan bukan sistem, dilaksanakan dalam fungsi perpustakaan, dan menetapkan masa penggera melalui penggera(). Kecuali unit masa ialah mikrosaat, usleep adalah serupa dengan tidur yang digunakan.
Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.
(1) sleep()-------dalam beberapa saat
Head Fail:
#include <windows.h> // 在VC中使用带上头文件 #include <unistd.h> // 在gcc编译器中,使用的头文件因gcc版本的不同而不同
Fungsi: Laksanakan penggantungan untuk bilangan saat yang ditentukan
Sintaks:
unsigned int sleep(unsigned int seconds);
sleep() ialah panggilan bukan sistem, sleep( ) Dilaksanakan dalam fungsi perpustakaan, ia menggunakan penggera() untuk menetapkan masa penggera, dan menggunakan sigsuspend() untuk menggantung proses pada isyarat SIGALARM.
sleep() hanya boleh tepat ke tahap kedua. sleep() akan menyebabkan proses semasa dijeda sehingga masa yang ditentukan oleh parameter saat dicapai, atau sehingga ia diganggu oleh isyarat.
#include
return: Jika proses digantung untuk masa yang ditentukan oleh parameter saat, 0 akan dikembalikan jika terdapat gangguan isyarat, saat yang tinggal akan dikembalikan.
Contoh:
#include <windows.h> #include<stdio.h> int main() { int a; a=1; printf("hello"); sleep(a); /* VC 使用Sleep*/ printf("world"); return 0; }
(2) usleep()----dalam mikrosaat
Fail pengepala:
#include <unistd.h>
Fungsi: fungsi usleep menangguhkan proses untuk satu tempoh masa, unit ialah mikrosaat (persejuta saat); unit masa ialah mikrosaat, ia serupa dengan sleep() yang digunakan. Selain itu, pelaksanaannya juga berbeza Kerana tidur dilaksanakan menggunakan penggera, unit masa adalah s, manakala unit masa usleep adalah kita
, yang pastinya tidak dilaksanakan secara penggera, jadi pelaksanaannya berbeza. . , tetapi semuanya digunakan dalam Linux, tetapi tidak boleh digunakan dalam Windows, kerana kedua-dua sleep dan usleep ditakrifkan di bawah unistd.h.
void usleep(int micro_seconds);
Tutorial video Linux
Atas ialah kandungan terperinci Apakah perbezaan antara usleep dan sleep dalam linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!