페이지

2021년 5월 22일 토요일

VB.NET Sleep Delay 지연

Thread.Sleep 을 이용하여 간단히 지연시키는 코드


    Imports System.Threading

    Thread.Sleep(1000) 'milliseconds


Thread.Sleep 의 경우 UI 스레드에서 긴 시간 사용시 UI가 먹통될 수 있어 다음과 같은 코드를 사용할 수 있습니다.


    ' 지연되는 동안 cpu 점유율이 올라갑니다.

    Private sub Delay(milliseconds As Double)

        Dim delayTime As Date = Now.AddSeconds(milliseconds/1000)

        do until Now > delayTime

            Application.DoEvents()

        Loop

    End sub


    'cpu 점유율은 낮지만 시간지연이 좀 있습니다.

    Private sub Delay2(milliseconds As Double)

        Dim passed As Integer = 0

        For i  As Integer = 0 To milliseconds/10

            Thread.Sleep(10)

            Application.DoEvents()

        Next

    End sub


참고링크

댓글 없음:

댓글 쓰기