2
|
Izbassar Tolegen · 技术社区 · 6 年前 |
![]() |
1
4
当涉及到并发集合时,它是线程安全的 内部的 州。换句话说,他们
然而,他们是 不 线程安全 穿过 外部方法调用。当您调用一个方法时,它将获取任何必要的锁,但这些锁在该方法返回时被释放。如果你不小心,这会导致 检查然后行动 比赛条件。查看您的代码
可能会发生以下情况:
这就是为什么
检查然后行动
需要外部同步,在第二个示例中使用
与你的问题无关:你打电话来
|
![]() |
2
1
来自大小为()的文档
虽然@slaw是正确的,但是还要添加一个加法/减法可以在遍历期间发生。 我的软件中不使用size()。我用atomicinteger对集合中的内容进行计数。如果count.get()<max,我可以添加。超过最大值一点就可以了。您可以使用锁定计数来强制遵从。 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |
![]() |
user1700890 · 了解交互式代理Python API中的线程 2 年前 |
![]() |
AntonBoarf · 为什么要将实例变量指定给局部变量? 2 年前 |
![]() |
rhymes · 如何让线程操作相同的java列表 2 年前 |