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
  • Method Details

    • create

      public static Synchronizer create​(String name, boolean undestroyable)
    • getMutex

      public Synchronizer.Mutex getMutex​(String id)
    • removeIfUnused

      public void removeIfUnused​(Synchronizer.Mutex mutex)
    • execute

      public void execute​(String id, Runnable executable)
    • executeThrower

      public <E extends Throwable> void executeThrower​(String id, ThrowingRunnable<E> executable) throws E extends Throwable
      Throws:
      E extends Throwable
    • execute

      public <T> T execute​(String id, Supplier<T> executable)
    • 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:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • logAllThreadsState

      public void logAllThreadsState​(boolean logMutexes)
    • getAllThreadsInfoAsString

      public String getAllThreadsInfoAsString​(boolean getMutexesInfo)
    • getAllThreads

      public Thread[] getAllThreads()
    • startAllThreadsMonitoring

      public void startAllThreadsMonitoring​(Long interval)
    • stopAllThreadsMonitoring

      public void stopAllThreadsMonitoring()
    • stopAllThreadsMonitoring

      public void stopAllThreadsMonitoring​(boolean waitThreadToFinish)