We started discussing this in the Ptrs, threading, and crashes thread 
but I wanted to bring it up again since we didn't reach a conclusion.

What is the data sharing/consistency model for OpenSG when using 
multiple threads on the same aspect?

For example, I propose something like the following.  This would give 
something that looks to the user like a standard read/write hazard model 
they are used to in regular code.

  * Can not directly edit fields on the same field container in multiple 
threads
  * Can create field containers in any thread (create, but can't share)
  * Can use/reference field containers from any thread  (read access)
  * Can connect field containers from any number of threads to field 
containers previously created in another thread.  (ex: shared materials)
  * Can call commitChanges and commitChangesAndClear in any thread and 
can be called simultaneously with call in another thread


Optional ideas (probably can't do)
   * Can edit fields of same field container in multiple threads, but 
only if the access is protected by a critical section.
   * Can add children to the same node in parallel threads

Any other ideas? I don't propose that this is the "right" way to do it, 
I just want to see a formal description of what should be possible so 
users know what to expect and test cases can be written to guarantee 
that this is actually supported.

Thanks,
Allen

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to