А как можно занять чем-то поток, заблокировать?
Вопрос не понял. Если у нас задача использует IO (сокеты, обращение к серверу в США и т.д.), то без специальных приёмов (async/await, reactive и т.д.) код будет блокирующим. То есть наша задача зависит не только от cpu, но и от нагруженности сети, например.