gpt4 book ai didi

java - 10 个线程同时写入单个哈希

转载 作者:行者123 更新时间:2023-12-03 23:01:47 26 4
gpt4 key购买 nike

很抱歉这个问题((我只是在一天结束时陷入困境((我需要测试 10 个写入相同哈希的线程(实际上不是哈希但非常相似的东西我需要证明它是同步写入)这是正确的代码吗?

Random rn = new Random();

Map<int,int> hash = new MyHashMap<int,int>();

for(int i = 0; i< 10; i++)
{
Thread th = new MyAddingThread();
th.Start();
}

public class MyAddingThread extends Thread{
public void run()
{
hash.Add(rn.nextInt,rn.nextInt);
}
}

将 10 更改为 100 可能会更好。但我不知道如何测试 dat 哈希以进行同步(

最佳答案

HashMap 不是线程安全的。使用ConcurrentHashMap相反。

编辑

如果您真正的问题是您的代码是否允许您测试任何给定的数据结构是否是线程安全的,那么确实没有可靠的方法可以做到这一点。多线程开发可以引入任意数量的极难检测的错误。数据结构要么被设计成线程安全的,要么不是。

关于java - 10 个线程同时写入单个哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21784884/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com