ConcurrentHashMap:我们可以信任它吗?

2024-01-12

来自ConcurrentHashMap的文档:

支持完全并发检索和可调整的更新预期并发的哈希表。

我们能否完全相信ConcurrentHashMap线程安全操作吗?

我正在使用 ConcurrentHashMap 将键与其值进行映射。我的键值对是:

Map<Integer,ArrayList<Double>> map1 = new ConcurrentHashMap();

key 的大小范围为 [0,1000000]。我有 20 个线程,可以一次访问/修改与一个键对应的值。这种情况并不常见,但这种情况是可能的。我是 通过以下方法获得无穷大:

Double sum =0.0; 
sum = sum + Math.exp(getScore(contextFeatureVector,entry.getValue())+constant);

contextFeatureVector and entry.getValue()是与键关联的数组列表。

[EDIT]

 constant =0.0001

private double getScore(List<Double> featureVector,List<Double>weightVector) throws NullPointerException    
{
    double score =0.0;
    int length = featureVector.size();
    for (int i =0 ; i< length ; i++){
    score = score + (featureVector.get(i)*weightVector.get(i)); 
    }

    return score;
}

Both featureVector<> and weightVector看起来像


[-0.005554038592516575, 0.0048966974158881175, -0.05315976588195846, -0.030837804373964654, 0.014483064988148562, -0.018962129117649, -0.015221386014208877, 0.015825702365331477, -0.11363620479662287, 0.00802609847263844, -0.062106636476812194, 0.008108854471293185, -0.03193255218671684, 0.04949650992670292, -0.0545583154094599, -0.04873314092706468, 0.013534731656877033, 0.08433117163682455, 0.050310355477044114, -0.002420513353516017, -0.02708299928442614, -0.023489187394176294, -0.1277699782685597, -0.10071004855129333, 0.08649040730064464, -0.04940329664431305, -0.027481729446035053, -0.0571846057609884, -0.036738550618481455, -0.035608113682344365]
  

它是线程安全的,但可以以非线程安全的方式使用它。

我怀疑您没有对问题进行足够的调查,无法确定已经使用了十多年的 JDK 库中存在错误。

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

ConcurrentHashMap:我们可以信任它吗? 的相关文章

随机推荐

  • Dart 运行时检查 switch 语句中的类型

    我在尝试检查 Dart 中某些对象的运行时类型时发现了一些奇怪的行为 让我们举一个简单的例子 main List
  • 如何以编程方式将最小化的无模式 WinForm 带到之前显示的位置?

    为了在单击事件时将无模式 Windows 窗体恢复到其先前的位置 我尝试使用下面所示的代码 但它不起作用 如果我遗漏了什么 请告诉我 public void SetFocus this Focus this BringToFront if
  • MVC 3 从 web.config 中的 AppSettings 获取值

    在普通的 ASP NET Web 表单站点中 我会使用 web configs appsettings 将应用程序设置数据添加到站点 但是 在使用 MVC 3 时 我无法以这种方式检索设置值 首先 有 2 个 web config 文件 第
  • wx.TextCtrl(或底层 GTK+)的多线程问题

    我正在开发一个GUI来启动外部长期运行的后台程序 该后台程序可以通过 stdin 给出输入命令 并使用 stdout 和 stderr 来保持打印输出和错误消息 我在 GUI 中使用 wx TextCtrl 对象来提供输入和打印输出 我当前
  • 允许图像缩小,但不允许拉伸

    我的网站有 4 000 多个页面 每页有 10 个或更多不同大小的 jpeg 图像 我正在努力使该网站对移动设备更加友好 为此 我希望能够缩小图像以适应较小的屏幕 我知道我可以做这样的事情来表明图像可以缩小 img bodyImg widt
  • 下载图像并在 BlackBerry 上显示

    我必须开发一个网址 其中涉及从网址下载图像并在黑莓刺激器中显示 任何人都可以在这方面帮助我吗 此代码将连接给定的 URL 并返回 Bitmap 对象 public static Bitmap connectServerForImage St
  • LINQ 表达式> 相当于 .Contains()

    有谁知道如何使用 Linq 表达式创建 Contains string 函数 甚至创建谓词来完成此操作 public static Expression
  • 如何仅使用 CSS 制作选项卡? [复制]

    这个问题在这里已经有答案了 我正在寻找像这样的选项卡系统jQuery 选项卡 http jqueryui com tabs 用户可以在不同的面板之间切换以查看不同的内容 但是 我需要在不使用 JavaScript 的情况下完成此操作 以便未
  • C/C++ 是否有允许任意精度指数的任意精度浮点库?

    我正在寻找 C C 的任意精度浮点库 首选普通 C 我需要任意精度的指数 GMP 和 MPFR 使用固定大小的指数 因此它们不符合条件 我有一些解决方法的想法 但我更喜欢开箱即用的解决方案 如果指数精度可以自动调整以防止无穷大值 那将是一个
  • Django DRF,如何使用 DRF 操作正确注册自定义 URL 模式

    背景 我有一个定义了多个自定义操作的 ModelViewSet 我正在使用我的默认路由器urls py注册 URL 现在 我的视图使用默认创建的路由 例如 images images pk 为了让用户能够使用他们熟悉的资源名称来使用 API
  • Matlab 中 += 相当于什么?

    在Matlab中是否可以增加变量的值而不在语句的右侧重新声明它 AFAIK MATLAB 中没有这样的东西 这是可以理解的 http groups google com group comp soft sys matlab browse f
  • ForEach-Object -Parallel 参数集无法解析

    使用 powershell 并执行以下操作时本文 https devblogs microsoft com powershell powershell foreach object parallel feature 运行以下示例会引发错误
  • ColdFusion 并从 MySQL 获取数据

    我正在 CF 网站上工作 需要从 MySQL 表中获取数据 我可以很好地创建 CFQuery 并检查返回的记录 但如何获取返回的记录并循环它们并从每行中的特定字段获取数据 我可以写 while if end if 等 我只是不记得如何访问数
  • 指向索引处向量的指针与迭代器

    我有一个矢量 myvec我在代码中使用它来保存内存中的对象列表 我在 正常 向量中保留一个指向当前对象的指针C时尚通过使用 Object pObj myvec index 如果 myvec 没有变得足够大以至于无法在某个过程中移动 那么这一
  • 使用 NodeJS 的 IExpress 安装后批处理未立即找到 NPM

    我正在尝试使用 iExpress 在我在 NodeJS 上创建的小脚本上安装依赖项 iExpress 包只需安装 Node 包 msiexec i node msi 然后运行安装后批处理 将 Javascript 放入 UserProfil
  • API 级别 19 上 grantUriPermission 中的 IllegalArgumentException

    下面这行代码 context getApplicationContext grantUriPermission packageName uri Intent FLAG GRANT PERSISTABLE URI PERMISSION 在 A
  • 为什么 mypy 拒绝我的“混合联合”类型声明?

    While 解决 Python 聊天中的半相关问题 https chat stackoverflow com transcript message 49920836 49920836 我在 mypy 中发现了一些我不理解的行为 from t
  • Hive 执行钩子

    我需要在 Apache Hive 中挂钩自定义执行挂钩 如果有人知道该怎么做 请告诉我 我当前使用的环境如下 Hadoop Cloudera 版本 4 1 2 操作系统 Centos 谢谢 阿伦 有多种类型的挂钩 具体取决于您要在哪个阶段注
  • setuptools、distribution 和 pip 之间如何相互关联?

    我一直在通过 Learn Python The Hard Way 第二版 一书自学 Python 在练习 46 中 它告诉我阅读 Pip Distribute 和其他一些软件包 pip 的文档足够清楚了 它允许我安装 卸载和升级软件包 阅读
  • ConcurrentHashMap:我们可以信任它吗?

    来自ConcurrentHashMap的文档 支持完全并发检索和可调整的更新预期并发的哈希表 我们能否完全相信ConcurrentHashMap线程安全操作吗 我正在使用 ConcurrentHashMap 将键与其值进行映射 我的键值对是