현재 실행 중인 스레드는 C#의 Sleep() 메서드를 사용하여 지정된 시간 동안 일시 중지하거나 일시적으로 일시 중지할 수 있으며, 해당 시간은 밀리초 단위로 지정하고 스레드에 매개 변수로 전달해야 합니다. 스레드를 밀리초뿐만 아니라 필요에 따라 더 오랜 시간 동안 일시 중지할 수 있도록 시간, 분, 초 단위로 시간을 지정할 수 있는 권한이 있는 timespan 속성을 사용하거나 일시 중지하려고 합니다.
구문:
Thread.Sleep(Time_in_milliseconds);
또는
TimeSpaninstance_name = new TimeSpan(Time_in_hours_minutes_seconds); Thread.Sleep(instance_name);
instance_name은 TimeSpan 클래스의 인스턴스 이름입니다.
다음은 C#Thread Sleep의 예입니다.
Sleep() 메서드를 매개변수로 전달된 밀리초 단위 시간과 함께 시연하는 C# 프로그램
코드:
using System; using System.Threading; //a class called program is created public class program { //a method called samplemethod which accepts a parameter is created public void samplemethod(object str) { for (int z = 0; z < 5; z++) { Console.WriteLine("The thread that is executing is {0}", str); Thread.Sleep(200); } } } //a class called check is created public class check { //main method is called public static void Main() { //two string variables are created which are passed as parameter previously created method in program class string Iamthread1 = null; string Iamthread2 = null; //an instance of the program class is created program d = new program(); Thread firstthread = new Thread(new ParameterizedThreadStart(d.samplemethod)); Thread secondthread=new Thread(new ParameterizedThreadStart(d.samplemethod)); firstthread.Start("Iamthread1"); secondthread.Start("Iamthread2"); } }
출력:
설명: 위 프로그램에서는 프로그램이라는 네임스페이스가 생성되고 그 안에 매개변수를 받아들이는 샘플 메서드라는 메서드가 생성되고 그 안에 해당 메서드에 대해 작동하는 스레드가 잠시 일시 중지됩니다. Sleep() 메소드를 사용하여 특정 시간. 그런 다음 두 개의 스레드 인스턴스가 생성되는 기본 메서드가 호출되는 check라는 클래스가 생성되고 Start() 메서드를 사용하여 샘플 메서드에서 실행이 시작됩니다. 샘플링 방식으로 동작하는 스레드는 Sleep() 메서드를 사용하므로 스레드가 연속적으로 실행되지는 않습니다.
TimeSpan 속성을 사용하여 Sleep() 메서드를 시연하는 C# 프로그램
코드:
using System; using System.Threading; //a class called program is created public class program { //a method called samplemethod which accepts a parameter is created public void samplemethod(object str) { //TimeSpan property is used to specify the duration of time for which the thread must be paused TimeSpan timeout = new TimeSpan(0, 0, 3); for (int z = 0; z < 3; z++) { Console.WriteLine("The thread that is executing is {0}", str); Thread.Sleep(timeout); } } } //a class called check is created public class check { //main method is called public static void Main() { //two string variables are created which are passed as parameter previously created method in program class string Iamthread1 = null; string Iamthread2 = null; //an instance of the program class is created program d = new program(); Thread firstthread = new Thread(new ParameterizedThreadStart(d.samplemethod)); Thread secondthread = new Thread(new ParameterizedThreadStart(d.samplemethod)); firstthread.Start("Iamthread1"); secondthread.Start("Iamthread2"); } }
출력:
설명: 위 프로그램에서는 매개변수를 받는 샘플 메소드라는 메소드가 생성되고 그 안에 해당 메소드에 대해 작동하는 스레드가 일정 시간 동안 일시 중지되는 프로그램이라는 네임스페이스가 생성됩니다. TimeSpan 속성을 사용하여 시간을 측정합니다. 그런 다음 두 개의 스레드 인스턴스가 생성되는 기본 메서드가 호출되는 check라는 클래스가 생성되고 Start() 메서드를 사용하여 샘플 메서드에서 실행이 시작됩니다. 샘플링 방식으로 동작하는 스레드에서는 Sleep() 메서드를 사용하므로 스레드가 연속적으로 실행되지는 않는다. 출력은 위의 스냅샷에 표시됩니다.
이 튜토리얼에서는 프로그래밍 예제와 그 출력을 통해 ThreadSleep 메서드의 정의, 구문, 작동을 통해 C#의 ThreadSleep 메서드 개념을 이해합니다.
C# Thread Sleep에 대한 안내입니다. 여기에서는 C# Thread Sleep 소개와 그 작업, 예제 및 코드 구현에 대해 설명합니다. 더 자세히 알아보려면 다른 추천 기사를 살펴보세요. –
위 내용은 C# 스레드 절전의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!