Daniel John Debrunner created QUARKS-238:
--------------------------------------------
Summary: Define function visibility rules and optimize generate
Key: QUARKS-238
URL: https://issues.apache.org/jira/browse/QUARKS-238
Project: Quarks
Issue Type: Improvement
Components: API
Reporter: Daniel John Debrunner
Assignee: Daniel John Debrunner
When executing functions Edgent ensures that any execution of the function's
method "happens-after" a previous execution. This provides rules for Memory
consistency effects (Java memory model).
In most cases this allows the lambda expression or function class to not have
to deal with synchronization issues, thus making development easier. This is
similar to how an ExecutorService defines it's memory consistency.
This needs to be documented.
Then this is implemented by attempting to see if the function's implementation
class needs synchronization, see if it is immutable. In some cases we create a
synchronized version of the function when there is no need, e.g. generate()
where a single thread is executing the function.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)