It makes sense when dealing with concurrent programming, but Flash is single
threaded and you won't have a case where multiple threads are task switching
and simultaneously executing functions. Every function call and event
handler in flex is basically "in-lined" and will execute to completion.

On Mon, Jun 9, 2008 at 5:11 PM, robbarreca <[EMAIL PROTECTED]>
wrote:

>   Sorry, I must have not explained well. The race condition I'm talking
> about exists here:
>
> thread 1: calls load() and say someFlag gets set to 1;
> thread 2: calls load() and someFlag is set to 2;
> thread 1: the first load is complete and handleComplete() is called,
> but someFlag is set to 2 when the value I want is 1.
>
> I want to attach a copy of the value of someFlag to the event so in
> handleComplete() I could call event.target.someFlagCopy and always get
> the value that was set in *that* thread's load() call.
>
> Does that make any sense?
>
> -R
>
>
> --- In [email protected] <flexcoders%40yahoogroups.com>, "Daniel
> Gold" <[EMAIL PROTECTED]> wrote:
> >
> > does determineFlag() do some asynch service call? If so you need to
> wait and
> > raise an event or update a var in a model and listen for changes
> that way.
> > Otherwise your determineFlag() method will run to completion before the
> > loader.loadSomeStuff() line is executed, Flash is single threaded
> for user
> > code execution so you shouldn't have a race condition there
> >
> > On Mon, Jun 9, 2008 at 3:55 PM, robbarreca <[EMAIL PROTECTED]>
> > wrote:
> >
> > > Say I have two functions load() and handleComplete(event:Event).
> Right
> > > now to get custom data to handleComplete I do something like this
> > >
> > > private var someFlag:uint = 0;
> > >
> > > function load() {
> > > loader.addEventListener(handleComplete);
> > > someFlag = determineFlag();
> > > loader.loadSomeStuff();
> > > }
> > >
> > > function handleComplete(event:Event) {
> > > trace(someFlag);
> > > }
> > >
> > > But if I call this super fast, someFlag is gonna be wrong. I've seen a
> > > method where you can add an anonymous function somehow, but I'm pretty
> > > sure that even faced the same race condition problem. What is the
> > > *proper* way to go about this?
> > >
> > >
> > >
> >
>
>  
>

Reply via email to