C# ThreadLocal 代码示例
时间: 2024-05-09 21:13:38 浏览: 195
C#中的ThreadLocal类是用于在多线程环境下保持数据独立性的类,它允许我们为每个线程创建一个单独的实例。以下是ThreadLocal的一个简单示例:
```
using System;
using System.Threading;
class Program
{
static ThreadLocal<int> _field = new ThreadLocal<int>(() =>
{
return Thread.CurrentThread.ManagedThreadId;
});
static void Main(string[] args)
{
new Thread(() =>
{
for (int i = 0; i < _field.Value; i++)
{
Console.WriteLine("Thread A: {0}", i);
}
}).Start();
new Thread(() =>
{
for (int i = 0; i < _field.Value; i++)
{
Console.WriteLine("Thread B: {0}", i);
}
}).Start();
Console.ReadKey();
}
}
```
在上面的示例中,我们使用ThreadLocal创建了一个整型字段_field,并为每个线程创建了一个单独的实例。在每个线程中,我们都可以使用该实例来存储和访问数据,而不用担心线程间的数据干扰。
阅读全文