Package org.apfloat.internal
Class MessagePasser<K,V>
- java.lang.Object
-
- org.apfloat.internal.MessagePasser<K,V>
-
- Type Parameters:
K
- The receiver type for this message passer.V
- The message type for this message passer.
public class MessagePasser<K,V> extends Object
Message passing helper class for parallel codes. The message passer can hold one message for each receiver. This class is safe for concurrent use from multiple threads.- Since:
- 1.6
- Version:
- 1.9.0
- Author:
- Mikko Tommila
-
-
Constructor Summary
Constructors Constructor Description MessagePasser()
Default constructor.
-
Method Summary
Modifier and Type Method Description V
getMessage(K receiver)
Get a message if one is available.V
receiveMessage(K receiver)
Receive a message.void
sendMessage(K receiver, V message)
Send a message.
-
-
-
Method Detail
-
sendMessage
public void sendMessage(K receiver, V message)
Send a message.- Parameters:
receiver
- The receiver.message
- The message. Must not benull
.
-
getMessage
public V getMessage(K receiver)
Get a message if one is available. This method will not block.- Parameters:
receiver
- The receiver.- Returns:
- The message, or
null
if none is available.
-
receiveMessage
public V receiveMessage(K receiver) throws ApfloatRuntimeException
Receive a message. This method will block until a message is available.- Parameters:
receiver
- The receiver.- Returns:
- The message.
- Throws:
ApfloatRuntimeException
-
-