当前正在执行的线程可以使用 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的示例:
C# 程序演示 Sleep() 方法,并以毫秒为单位传递时间作为参数。
代码:
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 的类,在该类中调用 main 方法,在该方法中创建线程的两个实例,然后使用 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 的类,在该类中调用 main 方法,在该方法中创建线程的两个实例,然后使用 Start() 方法开始在示例方法上执行它们。由于在采样方法上运行的线程上使用了 Sleep() 方法,因此线程不会连续执行。输出如上面的快照所示。
在本教程中,我们通过编程示例及其输出了解 ThreadSleep 方法的定义、语法和工作原理,了解 C# 中 ThreadSleep 方法的概念。
这是 C# 线程睡眠指南。在这里,我们讨论 C# 线程睡眠简介及其工作原理以及示例和代码实现。您还可以浏览我们其他推荐的文章以了解更多信息 –
以上是C# 线程睡眠的详细内容。更多信息请关注PHP中文网其他相关文章!