Javolution 6.0.0 java
javolution.lang.Parallelizable Interface Reference

Public Member Functions

boolean value () default true
 
boolean mutexFree () default true
 
String comment () default ""
 

Detailed Description

Indicates that a class, a method or a field can be used by multiple threads concurrently and whether or not it is mutex-free (not blocking).

[code] public class Operators { @Parallelizable public static final Reducer<Object> ANY = new Reducer<Object>() { ... }

@Parallelizable(mutexFree = false, comment="Internal use of synchronization") public static final Reducer<Object> MAX = new Reducer<Object>() { ... }

@Parallelizable(mutexFree = false, comment="Internal use of synchronization") public static final Reducer<Object> MIN = new Reducer<Object>() { ... }

@Parallelizable public static final Reducer<Boolean> AND = new Reducer<Boolean>() { ... }

@Parallelizable public static final Reducer<Boolean> OR = new Reducer<Boolean>() { ... }

@Parallelizable(comment="Internal use of AtomicInteger") public static final Reducer<Integer> SUM = new Reducer<Integer>() { ... } }[/code]

Classes with no internal fields or Immutable are usually parallelizable and mutex-free.

Author
Jean-Marie Dautelle
Version
6.0, July 21, 2013
See also
Wikipedia: Mutual Exclusion

Definition at line 55 of file Parallelizable.java.

Member Function Documentation

◆ comment()

String javolution.lang.Parallelizable.comment ( )

Provides additional information (default

""

).

◆ mutexFree()

boolean javolution.lang.Parallelizable.mutexFree ( )

Indicates if this element does not use any form of mutex to access shared resources (default

true

). To avoid priority inversion and possibly unbounded response times, a real-time VM (with priority inheritance) is recommended when using real-time elements which are not mutex-free.

◆ value()

boolean javolution.lang.Parallelizable.value ( )

Indicates if this element can safely be used concurrently (default

true

).


The documentation for this interface was generated from the following file: