Hi Samer,
I wrote the Action Engine Nugget to illustrate a safe and effective way of sharing data between multiple thread.
Re: your Q
Both gloabl variables and reference>Value are subject to potential race conditions.
Globals require all of their instances be updated anytime one is updated. So they dont' scale well either.
References force a thread switch to the UI thread (single thread so this is a bottle neck)
So PLEASE take a look at that Nugget.
Thank you,
Ben