что происходит, когда поток прерывается во время блокировки на wait ()?

Учитывая тот факт, что wait () может быть вызван только в синхронизированном контексте, который впоследствии освобождает монитор до тех пор, пока notify / nofityAll не будет вызван для того же объекта другим потоком,

Предположим, что поток A блокируется при ожидании (), что приводит к тому, что поток B получает th электронный замок. Теперь, если мы прервем поток A, будет ли управление немедленно передано потоку A? в этом случае, поскольку блок try catch, обрабатывающий InterrupException, находится в синхронизированном контексте, и поскольку только один поток может одновременно удерживать монитор, что произойдет с потоком B? должен ли он перейти в заблокированное состояние, пока поток A не завершит выполнение?

Заранее благодарны

5
задан arun_suresh 9 November 2011 в 20:21
поделиться