WinAPI Sleep Function Conundrum: Tidur Lebih Lama Daripada Jangkaan
Apabila menggunakan fungsi WinAPI Sleep dengan parameter 1, pengguna mungkin mengalami kelewatan benang melebihi tempoh yang ditetapkan. Malah, siri berulang 100 panggilan Tidur(1) telah menghasilkan jumlah masa tidur 1500ms, jauh lebih besar daripada 100ms yang ditetapkan.
Punca Tidur Berpanjangan:
Tingkah laku ini wujud dalam penjadual benang Windows. Ia beroperasi dengan kuantum masa, atau tempoh tertentu di mana benang boleh dilaksanakan. Kelewatan bukan sifar secara semula jadi dibundarkan kepada kuantum lengkap yang terdekat.
Isu Sistem yang Boleh Difikirkan:
Walaupun gelagat yang diperhatikan adalah tipikal, adalah berfaedah untuk menolak masalah sistem berpotensi yang mungkin memburukkan lagi masalah:
Pertimbangan Tambahan:
Adalah diperhatikan bahawa program berjalan lain boleh melaraskan resolusi pemasa seluruh sistem, yang berpotensi menghasilkan saiz kuantum yang lebih kecil. Ini boleh menerangkan keadaan di mana kelewatan Tidur(1) dilaporkan berada dalam jangka masa 1ms yang dimaksudkan. Peleraian pemasa lalai dalam Windows 7 hendaklah sekitar 15.6ms, bukan 1ms.
Atas ialah kandungan terperinci ## Mengapa Tidur(1) dalam WinAPI Menyebabkan Tidur Lebih Lama Daripada Jangkaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!