C# ThreadLocal 代码示例
时间: 2024-05-09 14:13:38 浏览: 202
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,并为每个线程创建了一个单独的实例。在每个线程中,我们都可以使用该实例来存储和访问数据,而不用担心线程间的数据干扰。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)