На любом языке, контролируемом «виртуальной машиной» (.NET, Java и т. Д.), Этот элемент управления, скорее всего, делегирован базовой ОС и, вероятно, далее - BIOS и другим элементам управления расписанием. При этом в двух крупных компаниях, .NET и Java, статическое и нестатическое - это проблема памяти , а не проблема процессора.
Повторяя точку зрения Сауа, влияние на ЦП оказывает синхронизация и управление потоками, а не доступ к статической информации.
Проблема с управлением кэшем ЦП не ограничивается только статическими методами. Только один процессор может обновлять любой адрес памяти одновременно. Объект в вашей виртуальной машине, и в частности поле в вашем объекте, является указателем на указанный адрес памяти. Таким образом, даже если у меня есть изменяемый объект Foo
, вызов setBar(true)
для Foo будет разрешен только для одного процессора за раз.
Все это, как говорится, суть .NET и Java в том, что вы не должны тратить свое время на то, чтобы потеть на эти проблемы, пока не сможете доказать , что у вас есть проблема, и я сомневаюсь, что у вас это возникнет. 1015 *