我相信我可能在 Oracle Java7 Update 5 中发现了一个 UUID 多线程错误,我想知道是否有人可以用一个独立的例子来确认。基本上会发生什么,如果我同时调用 UUID.Random()(我使用 64 个线程),我大部分时间都会很快发生冲突)。
但是,如果 UUID 生成器通过预先运行一个测试来预热,该测试只是抛出一堆 UUID,它似乎工作正常。这是scala的要点:
https://gist.github.com/3318973
需要注意的是,我正在插入一个可变集合,我正在从 64 个不同的线程同步该集合。主线程阻塞等待工作人员完成,然后检查设置的大小是否应该是它应该是的。碰撞在发生时打印。
谢谢!亚当