Thank you Ikai.

It's perfectly clear the JVM's spin up / down (and to the sides at some
strange corner cases :)

Is it possible to share the amount of threads a typical JVM running on up
appengine is configured to launch?
That would help me plan better, because if I have a class that eats 0.5MB of
heap (theoretically, I'm more like 1-5k) . Then if each JVM has a maximum of
2000 threads it's OK but if each JVM get's 20000 threads then this design
won't do.

Appreciate your comments.

Thank you,
Maxim.

On Thu, Sep 16, 2010 at 4:07 PM, Ikai Lan (Google)
<[email protected]<ikai.l%[email protected]>
> wrote:

> You can store data in ThreadLocal as a cache, but it will be extremely
> volatile, especially if we spin up/spin down instances. It's fine to use
> this to cache data that you can easily regenerate. Just be aware that if you
> hit memory limits, we will cull and restart that instance.
>
>
> On Thu, Sep 16, 2010 at 12:50 PM, Francois Masurel <[email protected]>wrote:
>
>> Each app instance runs in its own JVM.  So it should be safe to cache
>> data in ThreadLocal.
>>
>> On 16 sep, 09:08, Maxim Veksler <[email protected]> wrote:
>> > I would like to cache a not thread safe object, I'm hoping to improve
>> > performance by caching it instead of instantiating new instance per
>> request.
>> >
>> > Thanks,
>> > Maxim.
>> >
>> > On Thu, Sep 16, 2010 at 8:12 AM, Guillaume Laforge <[email protected]
>> >wrote:
>> >
>> >
>> >
>> > > What kind of data or information do you want to share through
>> thread-locals
>> > > between threads/requests?
>> >
>> > > On Thu, Sep 16, 2010 at 08:04, Maxim Veksler <[email protected]>
>> wrote:
>> >
>> > >> I didn't say multi threaded.
>> >
>> > >> ThreadLocal gives access to the cached object of the current thread.
>> > >> I'm doing an assumption here that appengine/j is implemented with
>> thread
>> > >> per incoming request.
>> >
>> > >> What I would like to know is if these threads are recycled (in which
>> case
>> > >> ThreadLocal is a good approach) or not.
>> >
>> > >> Thanks,
>> > >> Maxim.
>> >
>> > >> On Thu, Sep 16, 2010 at 6:17 AM, Didier Durand <
>> [email protected]>wrote:
>> >
>> > >>> Hi Maxim,
>> >
>> > >>> Multi-threading is not the way to go under GAEJ, see
>> > >>>http://code.google.com/appe<
>> http://code.google.com/appengine/docs/java/runtime.html#The_Sandbox>
>> >
>> > >> *I didn't say multi threaded. *
>> >
>> > >> ngine/docs/java/runtime.html#The_Sandbox<
>> http://code.google.com/appengine/docs/java/runtime.html#The_Sandbox>
>> >
>> > >>> The right way to go is Tasks:
>> > >>>http://code.google.com/appengine/docs/java/taskqueue/overview.html
>> >
>> > >>> regards
>> >
>> > >>> didier
>> >
>> > >>> On Sep 15, 2:00 pm, Maxim Veksler <[email protected]> wrote:
>> > >>> > Hello,
>> >
>> > >>> > I'm wondering (after some internal discussion we had) is using
>> > >>> ThreadLocal
>> > >>> > for applications running on the AppEngine is performance
>> beneficial ?
>> >
>> > >>> > For this to work AppEngine should recycle threads, right?
>> >
>> > >>> > Another question is how many threads does the appengine allows per
>> JVM
>> > >>> ?
>> > >>> > Such ThreadLocal based approach would (probably) be inefficient if
>> the
>> > >>> JVM
>> > >>> > allowed 20000 threads.
>> >
>> > >>> > Help is appreciated.
>> > >>> > Maxim.
>> >
>> > >>> --
>> > >>> You received this message because you are subscribed to the Google
>> Groups
>> > >>> "Google App Engine for Java" group.
>> > >>> To post to this group, send email to
>> > >>> [email protected].
>> > >>> To unsubscribe from this group, send email to
>> > >>> [email protected]<google-appengine-java%[email protected]><google-appengine-java%2B
>> [email protected]>
>> > >>> .
>> > >>> For more options, visit this group at
>> > >>>http://groups.google.com/group/google-appengine-java?hl=en.
>> >
>> > >>  --
>> > >> You received this message because you are subscribed to the Google
>> Groups
>> > >> "Google App Engine for Java" group.
>> > >> To post to this group, send email to
>> > >> [email protected].
>> > >> To unsubscribe from this group, send email to
>> > >> [email protected]<google-appengine-java%[email protected]><google-appengine-java%2B
>> [email protected]>
>> > >> .
>> > >> For more options, visit this group at
>> > >>http://groups.google.com/group/google-appengine-java?hl=en.
>> >
>> > > --
>> > > Guillaume Laforge
>> > > Groovy Project Manager
>> > > Head of Groovy Development at SpringSource
>> > >http://www.springsource.com/g2one
>> >
>> > > --
>> > > You received this message because you are subscribed to the Google
>> Groups
>> > > "Google App Engine for Java" group.
>> > > To post to this group, send email to
>> > > [email protected].
>> > > To unsubscribe from this group, send email to
>> > > [email protected]<google-appengine-java%[email protected]><google-appengine-java%2B
>> [email protected]>
>> > > .
>> > > For more options, visit this group at
>> > >http://groups.google.com/group/google-appengine-java?hl=en.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google App Engine for Java" group.
>> To post to this group, send email to
>> [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<google-appengine-java%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/google-appengine-java?hl=en.
>>
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine for Java" group.
> To post to this group, send email to
> [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-appengine-java%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to