ThreadStatic

简介:
标记为 ThreadStaticAttribute 的静态(在 Visual Basic 中为 Shared)字段不在线程之间共享。每个执行线程都有单独的字段实例,并且独立地设置及获取该字段的值。如果在不同的线程中访问该字段,则该字段将包含不同的值。

注意 不要为标记为 ThreadStaticAttribute 的字段指定初始值,因为这样的初始化只会发生一次,因此在类构造函数执行时只会影响一个线程。在不指定初始值的情况下,如果它是值类型,可依赖初始化为其默认值的字段,如果它是引用类型,则可依赖初始化为空引用(Visual Basic 中为 Nothing)的字段。
  class Program
  {
    [ThreadStatic] static int i;
    static Random r = new Random();

    public static void ThreadProc()
    {
      i = r.Next(1, 10);

      while (true)
      {
        Console.WriteLine("{0}:{1}", Thread.CurrentThread.Name, i);
        Thread.Sleep(500);
      }
    }

    public static void Main()
    {
      for (int i = 0; i < 2; i++)
      {
        Thread t = new Thread(new ThreadStart(ThreadProc));
        t.Name = "T" + i.ToString();
        t.Start();
      }

      Console.WriteLine("Press Enter key to exit...");
      Console.ReadLine();
    }
  }
 
目录
相关文章
|
Ubuntu Linux 网络安全
Gogs:可能是比Gitlab更好的选择
Gitlab是一个很棒的Git托管服务,几乎像GitHub一样强大。 但是,有没有能和Gitlab/Github媲美但操作更简单的项目呢?我认为 Gogs 是很好的选择。
2956 0
Gogs:可能是比Gitlab更好的选择
|
11月前
|
监控 数据可视化 前端开发
好用的5款国产低代码平台介绍
云程低代码平台是一款基于springboot、vue.js技术的企业级低代码开发平台,平台采用模型驱动、高低码融合、开放扩展等设计理念,基于业务建模、流程建模、表单建模、报表建模、大屏建模等可视化建模工具,通过拖拉拽零代码方式快速构建标准简单的业务模块,也可结合扩展脚本和硬编码方式,实现高码和低码融合,开发企业ERP、MES等复杂应用系统。云程平台即可输出标准软件产品和全部源代码,也可按客户需求定制开发。
619 0
|
11月前
|
数据可视化 JavaScript Unix
Visual Studio 2022 版本 17.6 预览版发行版小范围更新,值得你一看
Visual Studio 2022 版本 17.6 预览版发行版小范围更新,值得你一看
|
11月前
|
JavaScript IDE 测试技术
Vue2.x-03使用vue-cli搭建Vue开发环境
Vue2.x-03使用vue-cli搭建Vue开发环境
75 0
|
11月前
|
XML 存储 Java
数据存储之文件存储
数据存储之文件存储
89 0
|
11月前
|
Java 测试技术
在多线程中自定义实现定时器(Timer)
在多线程中自定义实现定时器(Timer)
|
12月前
全局对象和定时器
全局对象和定时器
|
敏捷开发 前端开发 JavaScript
低代码是什么?国内排名前 5 的低代码开发平台对比
低代码是一套可视化开发工具,它帮开发者把前后端基础功能写扎实,开发者只需要通过填表配置或拖拽生成前端组件的方式,即可完成后台管理系统的快速搭建。由于低代码仍需要写少量 JS 代码,所以低代码开发平台主要面向程序员,帮助程序员敏捷开发。本文使用企业级低代码开发平台「卡拉云」举例说明,什么是低代码开发平台。低代码卡拉云把后台管理系统(CRM、ERP、CMS、MES等),拆分抽象成三部分。「前端组件」+「后端数据」+「连接前后端的简单 JS 代码」
低代码是什么?国内排名前 5 的低代码开发平台对比
|
C#
C#中的三种定时器总结
C#中的三种定时器总结
330 0
C#中的三种定时器总结