Вы можете запустить рекурсивный метод, который будет запускаться само по себе определенное количество раз, а затем выполнять заданное действие. Звучит довольно странно, хотя: (
Что-то вроде:
public void eatStackThenExecute(int depth, Runnable action)
{
// Maybe put some locals here (and use them) to eat more stack per iteration?
if (depth == 0)
{
action();
}
else
{
eatStackThenExecute(depth - 1, action);
}
}
РЕДАКТИРОВАТЬ: Вполне возможно, что интеллектуальные JVM будут оптимизировать хвостовой вызов здесь, поэтому может потребоваться, чтобы мы сделали что-то после рекурсивного вызова, чтобы остановить это
Ick 'n stuff: (