I see. Good to know.

On Tue, Jan 29, 2013 at 9:29 AM, Simone Bordet <[email protected]> wrote:

> Hi,
>
> On Mon, Jan 28, 2013 at 3:38 PM, Nils Kilden-Pedersen <[email protected]>
> wrote:
> > I'm wondering though. Even with async, your request is never handled by
> more
> > than a single thread at a time, and one must presume that there are
> built-in
> > synchronization points (locking or volatile) that ensures memory
> visibility,
> > and if so, the servlet writer should not need to do anything differently.
>
> Well... no :)
>
> There always are inherent race conditions between the thread that
> "suspends" the request and the one that "resumes" it; those threads
> will run your code, so yes we do things properly in the container, but
> the rest is up to you.
> There always are inherent race conditions between the thread that
> times out a "suspended" request and the one that "resumes" it.
>
> As I said, it's not impossible. But you have to be careful of what you
> do, and yes your code may be accessed concurrently (well this was true
> also before: HttpSession may always be accessed concurrently), and the
> degree of carefulness depends on what you do in your code.
> Patterns like suspend/complete are safer, suspend/dispatch less safe.
>
> --
> Simone Bordet
> ----
> http://cometd.org
> http://webtide.com
> http://intalio.com
> Developer advice, training, services and support
> from the Jetty & CometD experts.
> Intalio, the modern way to build business applications.
> _______________________________________________
> jetty-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to