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