jcsp.plugNplay.ints
Class ProcessWriteInt
java.lang.Object
|
+--jcsp.plugNplay.ints.ProcessWriteInt
- All Implemented Interfaces:
- CSProcess
- public class ProcessWriteInt
- extends Object
- implements CSProcess
Writes one int to its output channel.
Process Diagram
___________________
| | out
| ProcessWriteInt |-->--
|___________________|
Description
ProcessWriteInt is a process that performs a single write
to its out channel and then terminates. The int
that is written must first be placed in the public value field
of this process (which is safe to set before and in between
process runs).
ProcessWriteInt declaration, construction and use should normally
be localised within a single method -- so we feel no embarassment about
its public field. Its only (envisaged) purpose is as described in
the example below.
Channel Protocols
Output Channels |
out |
int |
All channels in this package carry integers.
|
Example
ProcessWriteInt is designed to simplify writing in parallel
to channels. Make as many instances as there
are channels, binding each instance to a different channel,
together with a Parallel
object in which to run them:
ChannelOutputInt out0, out1;
.
.
.
ProcessWriteInt write0 = new ProcessWriteInt (out0);
ProcessWriteInt write1 = new ProcessWriteInt (out1);
CSProcess parWrite01 = new Parallel (new CSProcess[] {out0, out1});
The above is best done once, before any looping over the
parallel read commences. A parallel write can now be performed
at any time (and any number of times) by executing:
write0.value = ...; // whatever we want sent down out0
write1.value = ...; // whatever we want sent down out1
parWrite01.run ();
This terminates when, and only when, both writes have completed --
the events may occur in any order.
- Author:
- P.D.Austin
- See Also:
Parallel
,
ProcessRead
,
ProcessWrite
,
ProcessReadInt
Field Summary |
int |
value
The int to be written to the channel |
Method Summary |
void |
run()
The main body of this process. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
value
public int value
- The int to be written to the channel
ProcessWriteInt
public ProcessWriteInt(ChannelOutputInt out)
- Construct a new ProcessWriteInt.
- Parameters:
out
- the channel to which to write
run
public void run()
- The main body of this process.
- Specified by:
run
in interface CSProcess
Submit a bug or feature to jcsp-team@ukc.ac.uk
Version 1.0-rc4 of the JCSP API Specification (Copyright 1997-2000 P.D.Austin and P.H.Welch - All Rights Reserved)
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.