Eu entendi o que quer fazer e acho a resposta do clacerda
válida.
No entanto, tenho algumas dúvidas: a view necessariamente precisa ser bloqueada para outro usuário?
O que quero dizer é: pense em um site de reservas de assento de cinema, por exemplo. O usuário tem uma janela de tempo até efetuar o pagamento. Caso o tempo expire, ele deve reiniciar o processo e, caso o assento esteja indisponível no momento do pagamento, uma mensagem de erro é exibida e ele também deve reiniciar o processo (agora, com o estado do assento escolhido anteriormente atualizado, ou seja, indisponível).
Esse cenário seria possível em sua aplicação?