Ну не знаю… Не понимаю я этой тяги к 3Д, десятка цветов. Информация очень тяжело считывается с экрана. Автомобиль не место для разглядывания картинок ИМХО.
Ну вы как хотите так и называйте конечно, но такая схема противоречит здравому смыслу. Подумайте, как это выглядит со стороны пользователя. «Заплатите нам денежку, а мы посмотрим, можем ли мы оказать вам услугу. Нет, если не сможем, то конечно все вернем. Но сначала заплатите.» Я понимаю если бы подобный сервис требовал затраты каких-то ресурсов, но это же чисто информационная услуга, работа которой может быть полностью автоматизирована. Не вручную же они по базе проверяют.
Какая-то некорректная последовательность. На мой взгляд:
1. Запрос на идентификацию в Equifax.
2. От Equifax подтверждение, да вы у нас в базе.
3. Оплпта 90 р. в Equifax.
…
4. Profit.
Да вообще зачем лочить инкремент volatile переменной? Ну а про несколько нитей и кеш вы все-таки не совсем правы. В конкретно вашем случае переключения на другой поток исполнения будет происходить по решению планировщика ОС, и вероятно выполнение нескольких итераций цикла подряд. Так что кэш тут влияет.
Слишком неоднозначно выбрана имитация полезной работы. Ваш цикл нормальный компилятор развернёт в последовательность инкремент, правда тоже в цикле, но сколько именно итераций будет сделано вы не узнаете. Ну и про то что несчастный incremented висел в кэше тоже забывать нельзя.
1. Запрос на идентификацию в Equifax.
2. От Equifax подтверждение, да вы у нас в базе.
3. Оплпта 90 р. в Equifax.
…
4. Profit.
Авось повезло бы, и была бы одна нормальная операционка.