CoreThreadInterrupter¶
- public interface CoreThreadInterrupter extends CloseableObj¶
Added in version AS: 1.20.0-rc22
Интерфейс прерывателя потока.
Позволяет объявлять блоки кода, защищённые от прерывания работы потока.
Methods¶
interrupt¶
- void interrupt()¶
Устанавливает флаг
isInterrupted().Если перед вызовом метода не был вызван один из методов
withLock(ru.bitec.common.util.function.ForwardProcedure)илиwithLockForce(ru.bitec.common.util.function.ForwardProcedure), будет выполнен вызов методаThread.interrupt(). Иначе факт вызова будет запомнен, иThread.interrupt()будет вызван при выходе из методаwithLock(ru.bitec.common.util.function.ForwardProcedure)илиwithLockForce(ru.bitec.common.util.function.ForwardProcedure).
isInterrupted¶
- boolean isInterrupted()¶
Флаг указывает, что был вызван метод
interrupt()и, при выходе из безопасной секции, для потока будет вызванThread.interrupt().- Returns:
trueесли был вызван методinterrupt(), иначеfalse.
resume¶
- void resume()¶
Сбрасывает флаг
isInterrupted().
withLock¶
- void withLock(ForwardProcedure proc)¶
Метод выполняет блокировку прерывания потока (методом
interrupt()) на время выполненияproc. Перед выполнениемprocвыполняется проверка необходимости прерывания потока.- Parameters:
proc – анонимная процедура
- Throws:
Exception– При ошибках выполнения анонимной процедуры
withLock¶
- <R> R withLock(ForwardFunction<R> func)¶
Метод выполняет блокировку прерывания потока (методом
interrupt()) на время выполненияfunc. Перед выполнениемfuncвыполняется проверка необходимости прерывания потока.- Parameters:
func – анонимная функция
<R> – Тип результата анонимной функции
- Throws:
Exception– При ошибках выполнения анонимной функции
- Returns:
Результат выполнения анонимной функции
withLockForce¶
- void withLockForce(ForwardProcedure proc)¶
Метод выполняет блокировку прерывания потока (методом
interrupt()) на время выполненияproc. Если поток уже был прерван, с потока снимается флаг isInterrupted, выполняетсяproc, возвращается исходное состояние флага isInterrupted.- Parameters:
proc – анонимная процедура
- Throws:
Exception– При ошибках выполнения анонимной процедуры
withLockForce¶
- <R> R withLockForce(ForwardFunction<R> func)¶
Метод выполняет блокировку прерывания потока (методом
interrupt()) на время выполненияfunc. Если поток уже был прерван, с потока снимается флаг isInterrupted, выполняетсяfunc, возвращается исходное состояние флага isInterrupted.- Parameters:
func – анонимная функция
<R> – Тип результата анонимной функции
- Throws:
Exception– При ошибках выполнения анонимной функции
- Returns:
Результат выполнения анонимной функции