在C#中,ThreadLocal
类用于创建线程局部变量。要初始化一个ThreadLocal
变量,您需要创建一个新的实例并为其指定一个默认值(如果需要)。以下是一个简单的示例:
using System;
using System.Threading;
class Program
{
// 创建一个ThreadLocal变量
private static readonly ThreadLocal threadLocalVariable = new ThreadLocal();
static void Main(string[] args)
{
// 在当前线程中设置值
threadLocalVariable.Value = https://www.yisu.com/ask/10;"Current thread value: " + threadLocalVariable.Value);
// 创建一个新线程
Thread newThread = new Thread(new ThreadStart(ThreadFunction));
newThread.Start();
// 等待新线程完成
newThread.Join();
}
static void ThreadFunction()
{
// 在新线程中设置值
threadLocalVariable.Value = https://www.yisu.com/ask/20;"New thread value: " + threadLocalVariable.Value);
}
}
在这个示例中,我们创建了一个名为threadLocalVariable
的ThreadLocal
变量。然后,我们在主线程和新线程中分别设置了它的值。由于ThreadLocal
变量为每个线程提供了独立的值副本,因此主线程和新线程中的值不会相互干扰。