I agree with you. I am not at all an AWT/Swing expert. When I was
investigating this it turned out to be surprisingly difficult to get
reliable information about threadsafty of these classes. Especially when I
tried to find out where exactly the problem is inside AWT/Swing and what
could be done to work around it. It seems that serverside usage of AWT
classes is not very common.
So, the analysis I provided comes mostly from the bits of information I
found and analysis of AWT/Swing sources conducted by myself and a few
others that I consider more knowledable than myself in these matters.
Anyway, if there is anyone around with more AWT knowledge, I would
appreciate their comments.
cheers,
Reto
|-+---
| | Victor Mote |
| | [EMAIL PROTECTED]|
| | |
| | |
| | 16.06.2003 16:22|
| | Bitte antworten |
| | an fop-user |
| | |
|-+---
---|
|
|
|An: [EMAIL PROTECTED]
|
|Kopie:
|
|Thema: Re: AWTRenderer thread safe?
|
---|
Reto wrote:
I have investigated this and have done some multithreaded tests with
AWTRenderer a few months ago. The conclusions can be found in the
archives
of this list.
Summary:
- AWTRenderer and all subclasses of it (TIFFRenderer...) are NOT
threadsave.
- It is not threadsave because the underlaying AWT libs are not
threadsave.
It does not help to use different instances of REnderer, Driver , or
anything else. You need different VMs to run AWTRenderer concurrently.
- There is no simple way to adjust AWTRenderer to be threadsave. It
probabaly needs a complete redesign - I don't think it is even possible
to
make an AWTRenderer threadsave, since it would have to be
written without
using AWT.
Yes, your comments are the ones that I referenced in my answer, and they
were very helpful. The only thing that troubles me is that although it is
well-documented that Swing classes are not thread-safe, I can find nothing
similar for AWT, so I am hesitant to list that as the cause. For now, I
have
documented that the AWT Renderer should not be multi-threaded, but have not
documented why.
Victor Mote
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]