Не прямой ответ, но поскольку единственный способ получить много повторных входов в блоки synchronized
на одном и том же мониторе (или даже на разных мониторах) - это рекурсивные вызовы методов (вы не можете программно заблокировать его в например, тугой цикл) вам не хватит места в стеке вызовов, прежде чем вы достигнете предела счетчика, который JVM хранит для этого внутри.
Почему поток поддерживает только 2 147 483 647 - это то, что мне сейчас тоже интересно знать!
blockquote>Ну, во-первых, этого достаточно ... Но этого будет достаточно быть реализован со счетчиком повторного входа, и эти вещи в конечном итоге переполняются.
This appears to be by design; somebody has already raised a change request on Connect: http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=382007
The only way around the issue I can see would be to comment out (or otherwise remove) the :setvar
commands on release.
Думаю, это сделано намеренно. в настоящее время оператор setvar в скрипте .sql имеет наивысший приоритет.