我正在尝试学习 C# 中的线程,现在处于非常初级的水平。我编写了以下代码以了解如何暂停线程。
但我得到了异常' ThreadStateException 未处理:线程没有运行。它不能被挂起'
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace Thread_Suspend
{
class Program
{
static void Main(string[] args)
{
Thread obj = new Thread(Function1);
Console.WriteLine("Threading Starts..\n");
obj.Start();
Thread.Sleep(2000);
obj.Suspend();//Exception at this line of code
Console.WriteLine("Thread suspended");
}
static void Function1()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine("Thread displayed for: " + i + "time");
}
Console.WriteLine("\nThreading done");
}
}
}
我的理解是,当控制台打印“线程显示”5 次时,线程将进入休眠状态 2000 毫秒,之后它将进入挂起状态,但不会发生。我确信我在这里遗漏了一些关键概念。另外,我使用 VS 2010 和 .NET 4.0 作为目标框架。请高手在这里指导。任何帮助将不胜感激。
问候
阿努拉格