asp.net – 我应该关心ASP .NET中的静态int(4字节)变量的线程安
发布时间:2020-12-16 07:31:03 所属栏目:asp.Net 来源:网络整理
导读:我觉得我不应该关心线程安全访问/写入 public static int MyVar = 12; 在ASP .NET中. 我从各种用户线程读取/写入此变量.我们假设这个变量将存储某个按钮/链接的点击次数. 我的理论是没有线程可以同时读/写这个变量.它只是一个4字节的简单变量. 我确实关心线
我觉得我不应该关心线程安全访问/写入
public static int MyVar = 12; 在ASP .NET中. 我从各种用户线程读取/写入此变量.我们假设这个变量将存储某个按钮/链接的点击次数. 我的理论是没有线程可以同时读/写这个变量.它只是一个4字节的简单变量. 我确实关心线程安全,但仅适用于参考对象和List实例或需要更多周期来读取/更新的其他类型. 我的推定错了吗? 编辑 我理解这取决于我的情景,但不是问题的关键.问题是:在不使用lock关键字的情况下,使用(static int)变量编写线程安全代码是正确的吗? 编写正确的代码是我的问题.答案似乎是:是的,如果您编写正确而简单的代码,而不是太复杂,您可以创建线程安全函数而无需使用lock关键字. 解决方法
如果一个线程只是设置值而另一个线程读取该值,则不需要锁定;读写是原子的.但是如果多个线程可能正在更新它并且还在读取它以进行更新(例如,增量),那么你肯定需要某种同步.如果只有一个线程即使是增量也会更新它,那么我认为不需要同步.
编辑(三年后)可能还需要将 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – ASP MVC HTML Helpers – 好还是坏?
- asp.net-core-2.1 – 如何在asp.net Core 2.1.1中为Identit
- asp.net-mvc – 如何在ActionFilterAttribute ASP MVC 5中为
- ASP.NET中的Application和Cache有什么区别?
- asp.net – 空网站和git
- 在ASP经典中编写JavaScript
- asp.net-mvc – ASP.NET MVC应用程序运行多长时间
- asp.net-mvc-4 – htmlHelper与局部视图
- asp.net-mvc – 实现Rss Feeds的安全性
- ASP.NET linkbutton两次提高onBeforeUnload事件
推荐文章
站长推荐
热点阅读