Package org.eclipse.net4j.util.concurrent

# Class CriticalSection.UnsynchronizedCriticalSection

java.lang.Object
org.eclipse.net4j.util.concurrent.CriticalSection.UnsynchronizedCriticalSection

All Implemented Interfaces:
  `CriticalSection`

Enclosing interface:
  `CriticalSection`

public static class CriticalSection.UnsynchronizedCriticalSection extends Object implements CriticalSection
A `CriticalSection` implementation that does not perform any synchronization. This implementation is useful for scenarios where synchronization is not required, such as single-threaded applications or testing environments.

Author:
  Eike Stepper

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.eclipse.net4j.util.concurrent.CriticalSection

`CriticalSection.LockedCriticalSection, CriticalSection.SynchronizedCriticalSection, CriticalSection.UnsynchronizedCriticalSection`

## Field Summary

### Fields inherited from interface org.eclipse.net4j.util.concurrent.CriticalSection

`UNSYNCHRONIZED`

## Constructor Summary

Constructors
Constructor
Description
`UnsynchronizedCriticalSection()`

## Method Summary

Modifier and Type
Method
Description
`<V> V`
`call(Callable<V> callable)`
`Condition`
`newCondition()`
`void`
`run(Runnable runnable)`
`boolean`
`supply(BooleanSupplier supplier)`
`double`
`supply(DoubleSupplier supplier)`
`int`
`supply(IntSupplier supplier)`
`long`
`supply(LongSupplier supplier)`
`<V> V`
`supply(Supplier<V> supplier)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.net4j.util.concurrent.CriticalSection

`call`

## Constructor Details

### UnsynchronizedCriticalSection

public UnsynchronizedCriticalSection()

## Method Details

### call

public <V> V call(Callable<V> callable) throws Exception

Specified by:
  `call` in interface `CriticalSection`
Throws:
  `Exception`

### run

public void run(Runnable runnable)

Specified by:
  `run` in interface `CriticalSection`

### supply

public <V> V supply(Supplier<V> supplier)

Specified by:
  `supply` in interface `CriticalSection`

### supply

public boolean supply(BooleanSupplier supplier)

Specified by:
  `supply` in interface `CriticalSection`

### supply

public int supply(IntSupplier supplier)

Specified by:
  `supply` in interface `CriticalSection`

### supply

public long supply(LongSupplier supplier)

Specified by:
  `supply` in interface `CriticalSection`

### supply

public double supply(DoubleSupplier supplier)

Specified by:
  `supply` in interface `CriticalSection`

### newCondition

public Condition newCondition()

Specified by:
  `newCondition` in interface `CriticalSection`