Я просто смотрел исходный код Java ConcurrentHashMap и нашел эту строку кода:
/*
* The maximum number of times to tryLock in a prescan before possibly blocking on acquire in
* preparation for a locked segment operation. On multiprocessors, using a bounded number of
* retries maintains cache acquired while locating nodes.
*/
static final int MAX_SCAN_RETRIES =
Runtime.getRuntime().availableProcessors() > 1 ? 64 : 1
MAX_SCAN_RETRIES
используется при поиске записей при фиксации. Мой вопрос: как определить число 64
для многопроцессорной машины? Кто-нибудь знает теорию за номером 64
?