2 AĞUSTOS 2011, Salı
Çarpışmalar zaman JavaScript üreten olacak biçimde?
Bu this question ile ilgilidir. this answer JavaScript UUID oluşturmak için kullanıyorum:
'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
Bu çözüm, iyi çalışıyor gibi görünüyordu, ancak çarpışmalar alıyorum. İşte elimdekiler:
- Google Chrome web-app bir çalışan.
- 16 kullanıcılar.
- yaklaşık 4000 olacak biçimde bu kullanıcılar tarafından son 2 ay içinde üretilmiştir.
- 20 çarpışmalar - örneğin yeni UUID bugün genereated yaklaşık 2 ay önce aynı (farklı kullanıcı) oldu.
Bu yüzdensoru
- Soruna neden olan ne?
- Bunu nasıl bertaraf edebilirim?
CEVAP
24 AĞUSTOS 2011, ÇARŞAMBA
Evet doğru ama sadece Google Chrome altında çarpışmalar vardır. Konu burada benim deneyim göz atın
http://devoluk.com/google-chrome-math-random-issue.html
Gibi çarpışmalar sadece Matematik ilk birkaç arama üzerinde gerçekleşmesi gibi görünüyor.rastgele. Sadece yukarıda createGUİD / testGUİDs yöntemi açıkçası ... denediğim ilk şey buydu) çalıştırmak bence hiç çarpışmalar olmadan yarıyor.
Bir Google Chrome yeniden başlatın, 32 bayt oluşturmak, Krom, yeniden üretmek, yeniden üretmek için ihtiyacı tam bir test yapmak
Bunu Paylaş:
Nasıl JavaScript bir zaman damgası alm...
Belirli bir aralıktaki Javascript üret...
Javascript zaman bir Unix zaman damgas...
Vanilya JavaScript vs kullanmak için n...
JavaScript algılama, boş zaman zarif...