>  Q&A  >  본문

java.util.UUID存在并发问题吗

如题所述,有根据最好了,或者说在highly mutilthread env环境下,加synchronized wrapper下吗,怎么才能比较好的降低并发产生,又不大范围(如果使用这个生成随机串的次数很多,比如一天百万级别的,对于生成随机串怎么降低或者说保证唯一)影响性能.

http://stackoverflow.com/questions/7212635/is-java-util-uuid-thread-safe
http://bugs.java.com/view_bug.do?bug_id=6611830

PHP中文网PHP中文网2762일 전458

모든 응답(2)나는 대답할 것이다

  • 天蓬老师

    天蓬老师2017-04-18 09:28:25

    1. BUG 링크에도 JDK1.7의 수정 사항이 제거되었다고 나와 있습니다. 따라서 UUID 현재 JDK1.7 이상 버전에서는 동시성 문제가 없는 것 같습니다

    2. 사실 UUID는 고유 키를 얻기 위한 매우 성능 집약적인 방법입니다. 분산 환경에서는 로컬 IP와 자동 증가되는 AtomicLong을 직접 사용하는 것이 좋습니다(물론 난수)를 통해 전체 프로세스를 완료합니다.

    회신하다
    0
  • 迷茫

    迷茫2017-04-18 09:28:25

    초대해주셔서 감사합니다.
    예를 들어 전자상거래에서 주문번호가 생성되면 특정일의 주문번호가 미리 생성되는 경우가 많다. 현재), memcache 또는 redis와 같은 캐시에 배치되며 MQ에 주문 번호 풀로 배치될 수도 있습니다. 사용하시려면 주문번호 풀에 있는 고유번호를 사용하시면 됩니다.
    생성 방법은 비즈니스 로직에 따라 다릅니다. 일반적으로 중복이 전혀 발생하지 않도록 하려면 0~100W의 시퀀스를 생성한 다음 섞으면 됩니다.

    회신하다
    0
  • 취소회신하다