锁定静态方法

2024-03-12

请考虑这段代码:

public static class SomeClass
{
    private static List<Item> Items;

    //Constructor

    public static void AddToChache(string key, object item)
    {
        Items.Add(new Item(){ key = key , content = item, DateAdded = DateTime.Now});
    }

    public static List<Item> GetAllItems()
    {
        return Items;
    } 

    ....

如果我想在应用程序级别创建缓存,这个方法是否需要lock处理并发?

我想要线程安全的方法。


如果我想在应用程序级别创建缓存,这个方法是否需要锁来处理并发?

不,如果您使用线程安全集合,例如ConcurrentDictionary https://msdn.microsoft.com/en-us/library/dd287191(v=vs.110).aspx,否则是的 - 确实如此。

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

锁定静态方法 的相关文章

随机推荐

  • 使用 OrdinalEncoder 转换分类值

    我有一个数据集 其中包含以下列 No Name Sex Blood Grade Height Study 1 Tom M O 56 160 Math 2 Harry M A 76 192 Math 3 John M A 45 178 Eng
  • pip 无法从requirements.txt 安装包

    我正在尝试使用需求文件安装 python 软件 gt gt cat requirements txt Cython 0 15 1 numpy 1 6 1 distribute 0 6 24 logilab astng 0 23 1logil
  • 用于存储人与人之间聊天消息的数据库设计

    我正在尝试构建一个消息 聊天系统 它可以按时间顺序存储两个人之间的对话 此外 如果用户 A 删除对话 用户 B 仍应有权访问该对话 直到他希望删除它们为止 收件箱 用户从各个用户收到的所有消息将与来自该特定线程的最新消息一起显示 对话屏幕
  • Spring 无法注入实体管理器工厂

    我使用 JPA 使用 Hibernate 作为 JPA 提供程序 和 Spring 3 2 为我的 DAO 类编写测试 我无法正确注入实体管理器 尝试访问它时出现 NullPointerException 我的 GenericDAO 实现如
  • Android:如何设置活动窗口的绝对大小?

    有没有办法使用 XML 或以编程方式将 GUI 屏幕 活动 设置为 200dip 宽和 150dip 高 我找到了 getWindow setLayout 但它只采用预定义的宽度和高度常量 您可以在 Window setLayout 中使用
  • 网络上的 Firebase 身份验证内部错误“注册被阻止”

    我正在为网站使用 Firebase Auth 并选择密码身份验证和 Google 登录 当我运行它时 我得到以下结果 error code 403 message Requests to this API identitytoolkit m
  • 在 IIS 应用程序上使用集成安全性时,Sql 连接失败

    在 IIS 7 0 上的 Web 应用程序中 我想要连接到 Sql 数据库服务器 我的用户被授予 Windows 身份验证 集成安全 SSPI 用户 DOMAIN COMPUTER NAME 登录失败 但我仍然可以通过 Sql Server
  • clrzmq 在 Xamarin Studios/C# 应用程序中找不到 libzmq

    我在 Mac 上使用 Xamarin Studio clrzmq通过 NuGet 包含 libzmq dll 上的 clrzmq 引用 我的应用程序编译得很好 但是当我尝试运行它时 我得到了这个 Unhandled Exception Sy
  • 如何在不使用任何内置高斯函数的情况下对图像进行高斯模糊?

    我想使用原生高斯模糊公式来模糊图像 我读维基百科文章 http en wikipedia org wiki Gaussian blur 但我不确定如何实现这一点 如何使用公式来确定权重 我不想使用 MATLAB 等内置函数 编写朴素的高斯模
  • 为什么 HTML 段落

    在我的 chrome 上表现得如此奇怪?

    获取一个空 HTML 输入此内容并在 Google Chrome 上查看其源代码 p p div nbsp div WHY 如果你像我一样这样做 你会在源代码中看到这一点 p nbsp p div nbsp div WHY p p 万一 这
  • 套接字、轮询、无套接字结果?

    我正在开发一个 Windows 窗体应用程序 该应用程序在 Microsoft Azure 开发服务托管的云 SQL 服务上运行 如果没有能力物理上拥有一个接收应用程序 这将允许我利用套接字 这是一个重要的陷阱 因为我的应用程序将严重依赖于
  • IE11 在 Angular2(TS) 中发布 Angular CLI 项目,polyfills 不起作用

    我正在使用 angular cli 1 0 0 beta 16 它有 polyfills ts 如下所示 This file includes polyfills needed by Angular 2 and is loaded befo
  • 从重用的自定义单元格中的按钮传递数据

    当用户点击自定义单元格中的按钮时 我无法从自定义单元格传递数据 由于单元格被重复使用 我有时会得到错误的单元格数据 我想知道是否有一种完整的方法可以始终将正确的单元格数据获取到每个单元格中的按钮 无论当前屏幕上的哪个单元格 下面是我的代码
  • 使用 iOS Openfire 和 Robbie Hanson 库加入具有所有者权限的现有 XMPP MUC Room

    我正在使用以下代码加入现有的 MUC 房间 XMPPRoomMemoryStorage roomStorage XMPPRoomMemoryStorage alloc init XMPPJID roomJID XMPPJID jidWith
  • 在本地处理预期错误、重新抛出意外错误的模式

    有时 某些代码会以预期的方式引发错误 最方便的方法是在本地处理它 而不是将其扔到错误处理例程中 在错误处理例程中它将与相同类型的其他错误混合在一起 然而 您不希望意外错误被吞没 你希望他们像往常一样长大 在下面的 稍微做作的 示例中 Fin
  • 如何关闭故事板弹出窗口

    我创建了一个弹出窗口UIBarButtonItem使用 Xcode Storyboards 因此没有代码 如下所示 呈现弹出窗口效果很好 但是 我无法让弹出窗口消失当我点击UIBarButtonItem这让它出现了 当按下按钮 第一次 时
  • php与dll的通信?

    我需要使用 php 将数据 在本例中只是一个 id 传递到自定义 dll 可以直接在php中使用dll吗 以前从未使用过 dll 我不太确定它是如何工作的 它本质上与 Web 服务或 RPC 类似吗 由于这是一个自定义 DLL 也许您会考虑
  • 在android中解码HTML实体

    我需要解码 HTML 实体 例如从 到 和 到 URLEncoder decode str 不做这项工作 从 符号转换 TextUtils 有 HTMLencode 但没有 HTMLdecode 有没有解码 HTML 实体的函数 The h
  • ASP.net Session_Start 方法中的依赖注入

    我正在学习依赖注入并第一次使用 autofac 我按照几个 autofac 示例 见下文 中提到的方式构建了容器 并从我的 application start 调用 public class ContainerConfig public s
  • 锁定静态方法

    请考虑这段代码 public static class SomeClass private static List