我有一个常规脚本,其中多个线程尝试写入声明为:def array = [:] 的同一关联映射。 put 和 get 线程在这里安全吗?我没有找到太多关于此的信息。如果不是那我能用什么?Java并发HashMap?
只要它们得到
LinkedHashMap
的支持并且只要 LinkedHashMap
保持不同步,那么,不,它是 not 线程安全的。因此,您需要使用 java.util.concurrent
中的一些类,例如 ConcurrentLinkedQueue
或 CopyOnWriteArrayList
,每个类都有优点和缺点。
就我而言,不幸的是,我们的 Jenkins 管理员似乎不允许访问
java.util.concurrent
,可能是因为担心编码错误的作业会占用服务器太多资源。对于我的用例,我就是你所说的 SOOL。