Ошибка Java 7 UUID?

Я полагаю, что, возможно, нашел ошибку многопоточности UUID -в Oracle Java7 Update 5, и мне было интересно, может ли кто-нибудь подтвердить это независимым примером. В основном, что происходит, если я вызываю UUID.Random ()одновременно (Я использую 64 потока ), я быстро получаю коллизию большую часть времени ).

Однако,Если генератор UUID предварительно прогрет, запустив тест, который просто подбрасывает кучу UUID, он работает нормально. Вот суть в scala:

https://gist.github.com/3318973

Важно отметить, что я вставляю в изменяемый набор, который синхронизирую из 64 разных потоков. Основной поток блокируется, ожидая завершения работы рабочих процессов, а затем проверяет, соответствует ли заданный размер тому, каким он должен быть. Столкновения печатаются по мере их возникновения.

Спасибо! Адам

10
задан jadamcrain 10 August 2012 в 23:53
поделиться