When you spawn an fthread now, it runs immediately.

If the fthread doesn't do any fthread like things, it is then
equivalent to an ordinary procedure.

A major advantage of this is that it will get srean off my back a bit :)

If you do this now:

for var i in 0 upto 9 do
    spawn_fthread { var k = i; ... };
done

then k will be set to the value of i at the time of the spawn,
not 9 as it used to be (because i was 9 at the end of the loop
before any of the fthreads started running).

If the fthread does channel I/O all bets are off. Variable i could change.
But k will not (hopefully!). k gets eagerly initialised, and i can't change
until the fthread yields so the spawner thread can resume.

So now you can use the rule: if you want the current value of a variable
copy it up into the fthread.

[Closures still won't behave themselves though :]

--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to