Motivation
There are many incantations of the fork_loop. We gain experience with selecting the right one for two scenarios.
Background
Code To Use
FJ<E>
class FJ<E>
- join_fork_loop(iterable, task)
- join_fork_loop(returnValueComponentType, array, task)
Code To Implement
Echoes
class: |
Echoes.java |
|
methods: |
toEchoes |
package: |
forkloop.group |
source folder: |
student/src/main/java |
toEchoes
method: public static List<String> toEchoes(List<String> texts)
(parallel implementation required)
for each text in parallel, produce text + " " + text
.
toEchoes
accepts a List<String> parameter and returns a List<String>.
List<E> is an Iterable<E>, so instances of List<E> can be passed to join_fork_loop(iterable, task).
client
class: |
EchoClient.java |
DEMO: |
methods: |
main |
package: |
forkloop.client |
source folder: |
src/main/java |
SquareRoots
class: |
SquareRoots.java |
|
methods: |
toSquareRoots |
package: |
forkloop.group |
source folder: |
student/src/main/java |
toSquareRoots
method: public static Double[] toSquareRoots(Double[] values)
(parallel implementation required)
client
class: |
SquareRootClient.java |
DEMO: |
methods: |
main |
package: |
forkloop.client |
source folder: |
src/main/java |
Testing
class: |
_ForkLoopTestSuite.java |
|
package: |
forkloop.group |
source folder: |
testing/src/test/java |