Глядя на sun.security.x509.X509CertImpl
источник , он имеет несколько synchronized
методов (включая verify
) и поле private ConcurrentHashMap<String,String> fingerprints
.
Так что мне кажется, что было намерение сделать его поточно-ориентированным.
К сожалению, synchronized
методы, обновляющие внутренние поля состояния, такие как verificationResult
, verifiedPublicKey
, verifiedProvider
, повлекут за собой некоторое снижение производительности при одновременном доступе из многих потоков.
Может быть эффективнее избежать synchronized
блокирования конфликтов путем кэширования экземпляров в ThreadLocal
, например.