> You'd rather have one top-level scope per script execution. Otherwise,  
> all threads would share their top-level variables (incl. JS built-in  
> objects).

that's what I thought.

> What you can do - if you really want and are worried about performance  
> of initializing standard objects for each script execution - is to  
> create one scope with initStandardObjects(), seal it, and then use it  
> as the prototype of the per-thread scopes;

again that's what I am doing, all the thread scopes use the same
'sharedScope' as prototype to conserve some memory.

thank you,
George.





>
> Attila.
>
> On 2009.01.27., at 17:41, George Moschovitis wrote:
>
> > Two questions:
>
> > - using the same scope for all threads isn't problematic?
> >  In my current servlet I keep a scope per thread (using a thread
> > local variable). I think this better isolates the threads from each
> > other. Is this unnecessary?
> > - is Simple actively  maintained?
>
> > -g.
>
> > On Jan 23, 3:45 pm, Tom Robinson <[email protected]> wrote:
> >> I'm doing pretty much the same thing (starting up Jetty/Simple within
> >> the Rhino shell) in the Jack project (like Ruby's Rack for  
> >> JavaScript:http://github.com/tlrobinson/jack). I've briefly tried  
> >> some concurrent
> >> requests, and as far as I can tell there's no problem, it just works.
> >> Multiple concurrent requests use the same scope, and I assume
> >> different contexts as you've mentioned.
>
> >> Also, I just added Simple support to 
> >> Jack:http://github.com/tlrobinson/jack/tree/master/lib/jack/handler/simple.js
>
> >> You should consider using Jack ;)
>
> >> It lets you easily run your applications on a number of web servers
> >> (right now it supports Simple and servlet containers, including
> >> Jetty), and use various pieces of middleware.
>
> >> It's brand new, but it's quite simple. The whole thing, including a
> >> bunch of middleware and all the adapters, is less than 1000 LOC. Like
> >> Rack and WSGI it's mostly just a protocol, but for JavaScript.
>
> >> On Jan 23, 3:55 am, Patrick Dobbs <[email protected]>
> >> wrote:
>
> >>> My understanding is that if you start the webserver from Rhino, then
> >>> there is only one Scope which is shared between Threads/Contexts.
>
> >>> I'm currently adding some logging / debugging statements to the  
> >>> Rhino
> >>> codebase to check what is going on (ie when Contexts are getting
> >>> created). I'll post again if my findings suggest anything different.
>
> >>> George Moschovitis wrote:
> >>>> OK, Rhino seems to support multithreading (ie multiple Contexts).  
> >>>> What
> >>>> about scopes?
> >>>> Do all the threads use the same scope?
>
> >>>> -g.
>
> >>>> On Jan 22, 10:50 pm, Patrick Dobbs  
> >>>> <[email protected]>
> >>>> wrote:
> >>>>> Norris Boyd wrote:
>
> >>>>> Thanks to Norris for his pointers. Assuming these  
> >>>>> interpretations are
> >>>>> ...
> >>>>> correct, I'll shut up now.
>
> >>>>> Patrick

_______________________________________________
dev-tech-js-engine-rhino mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino

Reply via email to