पर सी ++ में नींद (0) का प्रभाव documentation for usleep बताता है कि usleep(0)
पर कॉल करने से कोई प्रभाव नहीं पड़ता है। हालांकि, मेरे सिस्टम (आरएचईएल 5.2) पर नीचे सी ++ कोड के छोटे स्निपेट चल रहे हैं, मुझे लगता है कि यह वास्तव में usleep(1)
के समान प्रभाव प्रतीत होता है। क्या इसकी उम्मीद की जा सकती है, और यदि हां, तो दस्तावेज के बीच विसंगति क्यों है और मैं वास्तविक जीवन में क्या देखता हूं?लिनक्स
प्रदर्शनी एक
कोड:
#include <unistd.h>
int main()
{
for(int i = 0; i < 10000; i++)
{
usleep(1);
}
}
आउटपुट:
$ time ./test
real 0m10.124s
user 0m0.001s
sys 0m0.000s
प्रदर्शनी बी
कोड:
+०१२३५१६४१०#include <unistd.h>
int main()
{
for(int i = 0; i < 10000; i++)
{
usleep(1);
usleep(0);
}
}
आउटपुट:
$ time ./test
real 0m20.770s
user 0m0.002s
sys 0m0.001s
जबकि अन्य उत्तर अन्य कारण बताते हैं कि ऐसा क्यों होता है, मुझे लगता है कि यह उत्तर उन्हें उच्च स्तर से समझाता है। – Dunnie