ARM содержит инструкции WFE
и WFI
, которые заставляют процессор выключаться до тех пор, пока либо событие (SEV
), ни прерывание не разбудят процессор.WTE
обычно используется спин-блокировками для предотвращения ненужной загрузки ЦП, в то время как WFI
будет использоваться свободным потоком ядра.
Как уже говорили другие, это не то, что программисту приложений когда-либо понадобитсябеспокоюсь о.Как прикладной программист, все, что вам действительно нужно делать, это приостанавливать поток, пока не найдется что-то для этого.Обычно это делается с использованием select
, epoll
или ожидание условных переменных.Как правило, избегайте сна, хотя.