Без заголовка
даже если так
всё-равно нужно учитывать ожидание ответа, асинхронность работы, и не только учитывать, а специально планировать, что конкретные команды могут быть переупорядочены компилятором, выполнены в ином порядке исполнителем, чтобы это не влияло на работу алгоритма (и только приятно удивляло его автора :) )