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)

Reply via email to