温馨提示×

c# threadlocal变量如何初始化

c#
小樊
81
2024-11-27 13:54:12
栏目: 编程语言

在C#中,ThreadLocal<T>类用于创建线程局部变量。要初始化一个ThreadLocal<T>变量,您需要创建一个新的实例并为其指定一个默认值(如果需要)。以下是一个简单的示例:

using System;
using System.Threading;

class Program
{
    // 创建一个ThreadLocal<int>变量
    private static readonly ThreadLocal<int> threadLocalVariable = new ThreadLocal<int>();

    static void Main(string[] args)
    {
        // 在当前线程中设置值
        threadLocalVariable.Value = 10;
        Console.WriteLine("Current thread value: " + threadLocalVariable.Value);

        // 创建一个新线程
        Thread newThread = new Thread(new ThreadStart(ThreadFunction));
        newThread.Start();

        // 等待新线程完成
        newThread.Join();
    }

    static void ThreadFunction()
    {
        // 在新线程中设置值
        threadLocalVariable.Value = 20;
        Console.WriteLine("New thread value: " + threadLocalVariable.Value);
    }
}

在这个示例中,我们创建了一个名为threadLocalVariableThreadLocal<int>变量。然后,我们在主线程和新线程中分别设置了它的值。由于ThreadLocal<T>变量为每个线程提供了独立的值副本,因此主线程和新线程中的值不会相互干扰。

0