Sleep

°è¼ÓÇϱâ Àü¿¡ ÁöÁ¤µÈ ½Ã°£ µ¿¾È ±â´Ù¸³´Ï´Ù.

Sleep, DelayInMilliseconds

¸Å°³º¯¼ö

Delay

¸ØÃ⠽ð£ (¹Ð¸®ÃÊ ´ÜÀ§), 0ºÎÅÍ 2147483647±îÁö (24 ÀÏ), Ç¥Çö½Ä °¡´É.

³íÆò

OSÀÇ ½Ã°£-À¯Áö ½Ã½ºÅÛÀÇ Á¤¹Ðµµ ¶§¹®¿¡, Áö¿¬ ½Ã°£Àº º¸Åë (Çϵå¿þ¾î¿Í ¼³Ä¡µÈ µå¶óÀ̹öÀÇ Á¾·ù¿¡ µû¶ó) °¡Àå °¡±î¿î 10 ¶Ç´Â 15.6 ¹Ð¸®ÃÊÀÇ ¹è¼ö·Î ¿Ã¸²µË´Ï´Ù. ¿¹¸¦ µé¾î, Áö¿¬½Ã°£ÀÌ 1ºÎÅÍ 10(Æ÷ÇÔ) »çÀÌÀÌ¸é ´ëºÎºÐÀÇ Windows 2000/XP ½Ã½ºÅÛ¿¡¼­ 10 ¶Ç´Â 15.6°ú µ¿µîÇÕ´Ï´Ù. ´õ ªÀº Áö¿¬ ½Ã°£ÀÌ ÇÊ¿äÇϸé, ´ÙÀ½ ¿¹Á¦¸¦ ÂüÁ¶ÇϽʽÿÀ.

½ÇÁ¦ Áö¿¬ ½Ã°£Àº CPU¿¡ ºÎÇÏ°¡ ¸¹À» °æ¿ì ¿ä±¸ÇÑ °Íº¸´Ù ´õ ±æ¾îÁú °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº OS°¡ ½ºÅ©¸³Æ®¿¡ ¶Ç´Ù¸¥ ½Ã°£Á¶°¢(timeslice)À» ÁÖ±â Àü¿¡ °¢°¢ÀÇ ÇÊ¿äÇÑ ÇÁ·Î¼¼½º¿¡ CPU ½Ã°£À» ³ª´©¾î Áֱ⠶§¹®ÀÔ´Ï´Ù (º¸Åë 20 ¹Ð¸®ÃÊ).

Áö¿¬ ½Ã°£ÀÌ 0ÀÏ °æ¿ì (´Ù¸¥ ½ºÅ©¸³Æ®º¸´Ù ¿ì¼± ¼øÀ§°¡ ¾öû³ª°Ô ³·Áö¸¸ ¾Ê´Ù¸é) ±×¸¦ ÇÊ¿ä·Î ÇÏ´Â ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ½ºÅ©¸³Æ®ÀÇ ÇöÀç ½Ã°£Á¶°¢(timeslice)ÀÇ ³ª¸ÓÁö¸¦ ³ª´©¾î ÁÝ´Ï´Ù. ±×·¡¼­, Áö¿¬ ½Ã°£ÀÌ 0ÀÌ¸é ½ÇÁ¦ Áö¿¬ ½Ã°£Àº ÇÊ¿ä·Î ÇÏ´Â ÇÁ·Î¼¼½ºÀÇ °³¼ö¿¡ µû¶ó 0ºÎÅÍ 20ms (ÀÌ»ó)ÀÌ »ý»êµË´Ï´Ù (ÇÊ¿ä·Î ÇÏ´Â ÇÁ·Î¼¼½º°¡ ¾ø´Ù¸é, ÀüÇô Áö¿¬ ½Ã°£ÀÌ ¾ø½À´Ï´Ù). ±×·¸Áö¸¸, Delay°¡ 0ÀÌ¸é ´õ ±ä Delay°¡ °É·ÈÀ» Áö¿¬ ½Ã°£º¸´Ù ¾ðÁ¦³ª ¶° ª°Ô ³¡³³´Ï´Ù.

ÀáÀÚ´Â µ¿¾È, ÇÖÅ°, ¸ÂÃã ¸Þ´º Ç׸ñ, ¶Ç´Â ŸÀ̸Ӹ¦ ÅëÇÏ¿© »õ ¾²·¹µå¸¦ ±âµ¿ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Sleep -1: Áö¿¬ ½Ã°£ÀÌ -1À̸é ÀáÀÚÁö ¾ÊÁö¸¸ ´ë½Å¿¡ ½ºÅ©¸³Æ®°¡ Áï½Ã ±×ÀÇ ¸Þ½ÃÁö Å¥¸¦ Á¡°ËÇϵµ·Ï ¸¸µì´Ï´Ù. ÀÌ°ÍÀ» »ç¿ëÇÏ¸é º¸·ùµÈ ÀÎÅÍ·´Æ®µéÀ» ¹«ÀÛÀ§·Î ¾Æ¹«µ¥¼­³ª ÀϾµµ·Ï µÎÁö ¾Ê°í °­Á¦·Î ƯÁ¤ÇÑ À§Ä¡¿¡¼­ ÀϾ°Ô ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº CriticalÀ» ÂüÁ¶ÇϽʽÿÀ.

°ü·Ã Ç׸ñ

SetKeyDelay, SetMouseDelay, SetControlDelay, SetWinDelay, SetBatchLines

¿¹Á¦

Sleep, 1000  ; 1 ÃÊ

 

; ´ÙÀ½Àº Á¤»óÀÎ 10 ¶Ç´Â 15.6 ¹Ð¸®Ãʺ¸´Ù
; ´õ ª°Ô Àç¿ì´Â ¹ýÀ» º¸¿©ÁÖ´Â ¿¹Á¦ÀÔ´Ï´Ù.
; ÁÖÀÇ: ½ºÅ©¸³Æ®°¡ ÀÌ·± ½ÄÀ¸·Î ½ÇÇà ÁßÀÎ µ¿¾È,
; Àüü ¿î¿µÃ¼Á¦¿Í ¾îÇÃÀÌ ¸ðµÎ ¾Æ·¡ÀÇ timeBeginPeriod¿¡ ¿µÇâÀ» ¹Þ½À´Ï´Ù.

SetBatchLines -1  ; ÀÌ ¹æ¹ýÀÌ ÃÖ´ë·Î È¿°ú°¡ ÀÖµµ·Ï È®ÀÎÇÕ´Ï´Ù.

SleepDuration = 1  ; ÀÌ°ÍÀº Á¾Á¾ ¾Æ·¡ÀÇ °ª¿¡ µû¶ó ¹Ì¼¼ÇÏ°Ô Á¶ÀýÇÒ ¼ö ÀÖ½À´Ï´Ù (¿¹,  2´Â 3°ú ´Ù¸¨´Ï´Ù).
TimePeriod = 3 ; 7 ¶Ç´Â 3À» ½ÃµµÇÕ´Ï´Ù. ¾Æ·¡ ÁÖ¼®À» ÂüÁ¶ÇϽʽÿÀ.
; ÀáÀڱ⠽ð£ÀÌ º¸Åë 15.6 ¹Ð¸®ÃÊ·Î ¿Ã¸²µÇ´Â PC¶ó¸é, TimePeriod=7À» ½ÃµµÇϸé
; ¾à°£ ´õ ªÀº ¼ö¸é ½Ã°£À» Çã¿ëÇÏ°í, TimePeriod=3 ÀÌÇϸ¦ ½ÃµµÇÏ¸é °¡´ÉÇÑ ÂªÀº ¼ö¸é ½Ã°£À» Çã¿ëÇÕ´Ï´Ù.

DllCall("Winmm\timeBeginPeriod", uint, TimePeriod)  ; ÀÌ ½ºÅ©¸³Æ®ÀÇ DllCall("Sleep"...)Àº ¹°·ÐÀÌ°í ¸ðµç ¾îÇø®ÄÉÀ̼ǿ¡ ¿µÇâÀ» ÁÝ´Ï´Ù. ±×·¯³ª SetTimer¿¡´Â ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê½À´Ï´Ù..
Iterations = 50
StartTime := A_TickCount

Loop %Iterations%
    DllCall("Sleep", UInt, SleepDuration)  ; Sleep ¸í·É¾î ´ë½Å¿¡ DllCallÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

DllCall("Winmm\timeEndPeriod", UInt, TimePeriod)  ; ½Ã½ºÅÛÀ» Á¤»óÀ¸·Î º¹±¸ÇÏ·Á¸é È£ÃâÇØ¾ß ÇÕ´Ï´Ù.
MsgBox % "Sleep duration = " . (A_TickCount - StartTime) / Iterations