Sleep causes a program to suspend operation. This Subroutine receives one parameter, which indicates the number of milliseconds to pause the program. No CPU time is used by Sleep. The program simply ceases to operate.
Example. This example program invokes the Sleep method on the Thread type. Please note how the Imports System.Threading line is included at the top of the program text. This enables the program to compile correctly.
Calls:Sleep(0) pauses the program for zero milliseconds. Sleep(5000) pauses for five seconds. Sleep(1000) pauses for one second.
Also, the SpinWait method is used. This subroutine results in a lot of CPU usage based on the large integer passed to it. SpinWait is the opposite of a Sleep call. It pegs the CPU at 100%.
VB.NET program that demonstrates the Sleep method
Imports System.Threading
Module Module1
Sub Main()
' Create a Stopwatch and sleep for zero milliseconds.
Dim stopwatch As Stopwatch = stopwatch.StartNew
Thread.Sleep(0)
stopwatch.Stop()
' Write the current time.
Console.WriteLine(stopwatch.ElapsedMilliseconds)
Console.WriteLine(DateTime.Now.ToLongTimeString)
' Start a new Stopwatch.
stopwatch = stopwatch.StartNew
Thread.Sleep(5000)
stopwatch.Stop()
Console.WriteLine(stopwatch.ElapsedMilliseconds)
Console.WriteLine(DateTime.Now.ToLongTimeString)
' Start a new Stopwatch.
stopwatch = stopwatch.StartNew
Thread.Sleep(1000)
stopwatch.Stop()
Console.WriteLine(stopwatch.ElapsedMilliseconds)
' Start a new Stopwatch and use SpinWait.
stopwatch = stopwatch.StartNew
Thread.SpinWait(1000000000)
stopwatch.Stop()
Console.WriteLine(stopwatch.ElapsedMilliseconds)
End Sub
End Module
Output
0
9:36:02 AM
4999
9:36:07 AM
999
3128
Summary. To use the Thread.Sleep or Thread.SpinWait methods, please include the Imports System.Threading namespace. The Thread.Sleep method receives an integer indicating the number of milliseconds you want the program execution to pause.
Note:The Thread.SpinWait method receives an integer indicating the amount of work to do. This results in 100% CPU usage.
Integer
Example. This example program invokes the Sleep method on the Thread type. Please note how the Imports System.Threading line is included at the top of the program text. This enables the program to compile correctly.
Calls:Sleep(0) pauses the program for zero milliseconds. Sleep(5000) pauses for five seconds. Sleep(1000) pauses for one second.
Also, the SpinWait method is used. This subroutine results in a lot of CPU usage based on the large integer passed to it. SpinWait is the opposite of a Sleep call. It pegs the CPU at 100%.
VB.NET program that demonstrates the Sleep method
Imports System.Threading
Module Module1
Sub Main()
' Create a Stopwatch and sleep for zero milliseconds.
Dim stopwatch As Stopwatch = stopwatch.StartNew
Thread.Sleep(0)
stopwatch.Stop()
' Write the current time.
Console.WriteLine(stopwatch.ElapsedMilliseconds)
Console.WriteLine(DateTime.Now.ToLongTimeString)
' Start a new Stopwatch.
stopwatch = stopwatch.StartNew
Thread.Sleep(5000)
stopwatch.Stop()
Console.WriteLine(stopwatch.ElapsedMilliseconds)
Console.WriteLine(DateTime.Now.ToLongTimeString)
' Start a new Stopwatch.
stopwatch = stopwatch.StartNew
Thread.Sleep(1000)
stopwatch.Stop()
Console.WriteLine(stopwatch.ElapsedMilliseconds)
' Start a new Stopwatch and use SpinWait.
stopwatch = stopwatch.StartNew
Thread.SpinWait(1000000000)
stopwatch.Stop()
Console.WriteLine(stopwatch.ElapsedMilliseconds)
End Sub
End Module
Output
0
9:36:02 AM
4999
9:36:07 AM
999
3128
Summary. To use the Thread.Sleep or Thread.SpinWait methods, please include the Imports System.Threading namespace. The Thread.Sleep method receives an integer indicating the number of milliseconds you want the program execution to pause.
Note:The Thread.SpinWait method receives an integer indicating the amount of work to do. This results in 100% CPU usage.
Integer