Package org.burningwave.core.concurrent
Class Synchronizer
java.lang.Object
org.burningwave.core.concurrent.Synchronizer
- All Implemented Interfaces:
AutoCloseable,Closeable,Identifiable,ManagedLogger
public class Synchronizer extends Object implements Closeable, ManagedLogger
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSynchronizer.MutexNested classes/interfaces inherited from interface org.burningwave.core.ManagedLogger
ManagedLogger.Repository -
Method Summary
Modifier and Type Method Description voidclear()voidclose()static Synchronizercreate(String name, boolean undestroyable)voidexecute(String id, Runnable executable)<T> Texecute(String id, Supplier<T> executable)<E extends Throwable>
voidexecuteThrower(String id, ThrowingRunnable<E> executable)<T, E extends Throwable>
TexecuteThrower(String id, ThrowingSupplier<T,E> executable)Thread[]getAllThreads()StringgetAllThreadsInfoAsString(boolean getMutexesInfo)Synchronizer.MutexgetMutex(String id)voidlogAllThreadsState(boolean logMutexes)voidremoveIfUnused(Synchronizer.Mutex mutex)voidstartAllThreadsMonitoring(Long interval)voidstopAllThreadsMonitoring()voidstopAllThreadsMonitoring(boolean waitThreadToFinish)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.burningwave.core.Closeable
closeResources, closeResources, createCloseResoucesTask, createCloseResoucesTaskMethods inherited from interface org.burningwave.core.Identifiable
getId, getOperationId
-
Method Details
-
create
-
getMutex
-
removeIfUnused
-
execute
-
executeThrower
public <E extends Throwable> void executeThrower(String id, ThrowingRunnable<E> executable) throws E extends Throwable- Throws:
E extends Throwable
-
execute
-
executeThrower
public <T, E extends Throwable> T executeThrower(String id, ThrowingSupplier<T,E> executable) throws E extends Throwable- Throws:
E extends Throwable
-
clear
public void clear() -
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
logAllThreadsState
public void logAllThreadsState(boolean logMutexes) -
getAllThreadsInfoAsString
-
getAllThreads
-
startAllThreadsMonitoring
-
stopAllThreadsMonitoring
public void stopAllThreadsMonitoring() -
stopAllThreadsMonitoring
public void stopAllThreadsMonitoring(boolean waitThreadToFinish)
-