创建线程的函数
internal class MultiThread
{/// <summary>/// 线程的工作函数类型/// </summary>public delegate void WorkProc();/// <summary>/// 创建进程的函数/// </summary>/// <param name="work">进程要执行的函数</param>/// <param name="tName">进程的名称</param>public static void CreateWorkThread(WorkProc work, string tName){Thread thread = new Thread(new ThreadStart(work)); // 创建一个新线程,指定线程要执行的方法为 Workthread.Name = tName; // 设置线程的名称为 tNamethread.IsBackground = true; // 将线程设置为后台线程,这意味着当主线程结束时,该线程也会被终止thread.Start(); // 启动线程,使其开始执行指定的工作方法}
}
调用函数
public static void TestTryEnter1()
{for (int i = 0; i < 10; i++){MultiThread.CreateWorkThread(Work, $"线程{i + 1}");}
}
主函数
class Program
{static object lockObj = new object(); // 可以正常使用// static bool lockObj; // 不可以正常使用,下面运行效果2// static bool lockObj = false; // 不可以正常使用,下面运行效果2public static void Main() {TestTryEnter1(); Console.WriteLine("按下Enter键退出主线程!");Console.ReadLine();}
}
运行效果1
运行效果2