静态方法是否共享其局部变量以及不同线程并发使用时会发生什么?

2023-11-25

C# 问题 - 我试图确定是否可以使用静态方法,在该方法内它确实使用了一些局部变量。局部变量是否在该方法的使用中“共享”?例如,如果从不同线程同时调用/使用静态方法会发生什么?一个线程是否会阻塞,直到另一个线程完成等?

也许普遍的问题是,在线程应用程序中,什么时候应该“不”使用静态方法?


方法内的局部变量位于堆栈中,每个线程都有自己的堆栈。因此,多个线程使用该方法是安全的。

但是,如果方法本身使用静态变量,那么您应该使用适当的 MT 保护。此外,您可能调用的外部方法也需要安全......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

静态方法是否共享其局部变量以及不同线程并发使用时会发生什么? 的相关文章

  • 在 C++ 中使用 matlab 结构(matlab 函数调用的返回值)(由 matlab 编译器生成的库)

    你好 我有一个相当简单的 matlab 函数 例如 function MYSTRUCT myfunc MYSTRUCT prop1 test MYSTRUCT prop2 foo MYSTRUCT prop3 42 end 我用 matla
  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 如何在c++中读取pcap文件来获取数据包信息?

    我想用 C 编写一个程序来读取 pcap 文件并获取数据包的信息 例如 len sourc ip flags 等 现在我找到了如下代码 我认为它会帮助我获取信息 但是我有一些疑问 首先我想知道应该将哪个库添加到我的程序中 然后什么是 pca
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • C中的malloc内存分配方案

    我在 C 中尝试使用 malloc 发现 malloc 在分配了一些内存后浪费了一些空间 下面是我用来测试 malloc 的一段代码 include
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 如何在 Xaml 文本中添加电子邮件链接?

    我在 Windows Phone 8 应用程序中有一些大文本 我希望其中有电子邮件链接 例如 mailto 功能 这是代码的一部分
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • 如何在非控制台应用程序中查看 cout 输出?

    输出到调试窗口似乎相当繁琐 我在哪里可以找到cout如果我正在编写非控制台信息 则输出 Like double i a b cout lt lt b lt lt endl I want to check out whether b is z
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro

随机推荐

  • 将项目添加到任务栏应用程序菜单

    我有一个申请 我想通过 C 将我的特定项目添加到右键单击应用程序的任务栏菜单中 我想添加永久项目和临时项目 如果我没有让你明白 这就是我正在谈论的菜单 此功能称为 JumpList 适用于 Windows 7 它是 Microsoft AP
  • Android Studio - 如何使用 ARM 而不是 HAXM 制作 AVD?

    我是 Android Studio 的新手 我的计算机不支持 HAXM 因此不允许我安装它来用于虚拟化 在该网站上的一些类似问题中 人们提到使用 ARM 而不是 HAXM 设置虚拟设备 我怎样才能做到这一点 在 AVD 管理器中 所有预制硬
  • TListView:如果添加列,VCL 会丢失列的顺序

    我正在尝试在 TListView 中的现有列之间添加一列 因此 我在末尾添加新列 并通过将其索引设置为指定值来移动它 这是有效的 直到添加另一个新列 我做了什么 在最后一个位置添加列 Columns Add 并在最后一个位置添加子项 Sub
  • android - 我如何使用“android:layoutDirection”?

    看来android 4提供了 机器人 布局方向 对于线性布局和 机器人 文本方向 对于 textView 但是当我选择它们时 我收到一个编译错误 它无法识别它们 error No resource identifier found for
  • 为什么当我按 Enter 键时,

    我只是添加一个click我的事件处理程序
  • 如何获取字符串 C# 中某个索引之后的所有内容

    假设我有字符串 MyNamespace SubNameSpace MyClassName 如何提取最后一个句点 MyClassName 之后的所有内容 Use 字符串 子字符串 and String LastIndexOf方法 string
  • Switch 语句和数字范围

    如何在 as3 中编写 switch 语句以使 case 适用于整个数字范围 if mcPaddle visible true switch score case 10 10 to 100 myColor color 0x111111 br
  • 使用 React Native Google Maps Directions 包自动启动导航

    我有一个要求 在加载谷歌地图应用程序时 必须自动启动导航 当前场景 它显示路线 但用户必须单击start开始导航 我找不到与之相关的任何标志 找到这篇文章 其中显示了谷歌地图中使用的标志 谷歌地图官方文档显示将其用作dir action n
  • 如何删除R中的空列?

    我有一个 CSV 文件 Identity Number Data Result Add 1 4 55 92 62 3 7 43 12 74 7 3 58 52 64 0 6 10 22 96 3 8 13 92 22 如何删除R中的空列 所
  • 修补 Magento 1.7.1 Hunk #1 时出错

    我看到最后一个Critical Reminder我的 Magento 仪表板 v 1 7 0 2 中的通知 2 important security patches SUPEE 5344 and SUPEE 1533 因此 我在其他 Mag
  • 错误 ::0 找不到引用的切入点注释

    我正在尝试创建一个方面来监视某些方法的时间执行 当我尝试运行测试时 出现以下错误 Caused by java lang IllegalArgumentException error at 0 can t find referenced p
  • 选择不同的 mongodb C#

    我必须从简单的 mongo db 数据库中选择不同的记录 我有很多简单的记录 这些记录如下所示 word some text 我的代码很简单 const string connectionString mongodb localhost v
  • Java 8 - 如何访问封装为 lambda 的对象和方法

    在 Java 中 您可以 捕获 对象上的方法调用 作为 Runnable 如下例所示 稍后 访问 Runnable 的这个实例 是否可以实际访问 捕获的 对象和被调用方法的方法参数 如果可能 这可能需要通过反射来完成 例如 class So
  • 是否存在具有编程语言本地化版本的编译器?

    我经常想知道为什么非英语程序员在编程时被迫使用不同的语言 而提供一个可以用本地化版本替换关键字的 IDE 似乎很容易 为什么德国人不能使用 w hrend macht 循环 日本 德国 法国 西班牙 博茨瓦纳的程序员只是广泛使用宏 定义语句
  • 根据另一个向量对点向量进行排序

    我正在开发一个 C 应用程序 我有 2 个点向量 vector
  • 显示:表格与使用表格

    我想知道使用 CSS 显示属性来模拟一个非常简单的论坛系统的表格是否是一个好主意 我知道这不是一件好事 就像 2 年前那样 当时 IE 和其他浏览器可能不支持 display table table cell 等 但我认为现在所有浏览器都支
  • Keycloak 管理控制台无限期加载

    我有一个在 EKS 集群中运行的 Keycloak 服务器 我尝试将其配置为生产模式而不是开发模式 我已经设法让 SSL 与反向代理一起使用 但是当我进入管理控制台的登录页面时 它只是无限期地加载 这是我的配置 Dockerfile FRO
  • PHP 特征的 UML 表示

    我正在使用 Symfony2 Doctrine 创建项目并尝试实现特征 到目前为止 小型试用没有问题 但我通常在深入复杂项目之前先绘制 UML 类和序列图 据我所知 用于象征 PHP 特征 可以视为行为 的 UML 设计对象是什么 有什么干
  • Java Webservice 客户端 UsernameToken 相当于 PHP

    我有一个 PHP 构建的 Web 服务 它使用 UsernameToken 作为身份验证机制 我有可以访问此 Web 服务的 PHP 客户端代码 现在我需要在 Java 中执行此操作 也许你可以帮助我 可以使用以下 php 代码访问该服务
  • 静态方法是否共享其局部变量以及不同线程并发使用时会发生什么?

    C 问题 我试图确定是否可以使用静态方法 在该方法内它确实使用了一些局部变量 局部变量是否在该方法的使用中 共享 例如 如果从不同线程同时调用 使用静态方法会发生什么 一个线程是否会阻塞 直到另一个线程完成等 也许普遍的问题是 在线程应用程