<br><font size=2 face="Arial">Hi</font>
<br>
<br><font size=2 face="Arial">Sorry Tamas. I'm affraid I won't be helpfull.</font>
<br>
<br><font size=2 face="Arial"><i>> How the global synchronization affect
the performance of your<br>
> application in a multiuser environment?<br>
</i>I couldn't test the influence of "synchronized", because
of the crashes without synchronizing. </font>
<br><font size=2 face="Arial">(I didn't make a test without parallel requests.
Wasn't usefull for me)</font>
<br>
<br><font size=2 face="Arial">Additionally I'm quite shure, that the "Maps
per Minutes"-Index</font>
<br><font size=2 face="Arial">is (almost?) not influenced on a single CPU-machine.
I expect that</font>
<br><font size=2 face="Arial">lock-acquire is *much* cheaper, than map-drawing.</font>
<br>
<br><font size=2 face="Arial">On Multi-CPU things become bad!</font>
<br>
<br><font size=2 face="Arial">Therfore I never thought of "synchroized"
as a solution but a workaround.</font>
<br>
<br><font size=2 face="Arial"><i>> I afraid this kind of protection
cannot be utilized easily for ASP.NET<br>
> since the host process<br>
> may load and execute multiple separate application domains.<br>
</i>"application domains"? puh ...</font>
<br><font size=2 face="Arial">I never really wrote a line C#. What about
this?:</font>
<br><font size=2 face="Arial">class MyClass</font>
<br><font size=2 face="Arial"> static readonly object globalLock
= new object();</font>
<br><font size=2 face="Arial"> ...</font>
<br><font size=2 face="Arial"> public void anInstanceMethod () {</font>
<br><font size=2 face="Arial"> lock (globalLock ) {</font>
<br><font size=2 face="Arial"> umnMap.draw();</font>
<br><font size=2 face="Arial"> }</font>
<br><font size=2 face="Arial"> }</font>
<br><font size=2 face="Arial">Has every application domain it's own static
members?</font>
<br>
<br><font size=2 face="Arial"><i>> However i am keen to implement such
functionality at the SWIG<br>
> interface level as an alternative to the USE_THREAD approach.<br>
</i>What a pitty! I loved your enthusiasm to provide a "real"
solution :-)</font>
<br><font size=2 face="Arial">I absolutely agree, that this issue will
become very important for C#, Java and</font>
<br><font size=2 face="Arial">for Multiprocessor-machines.</font>
<br>
<br><font size=2 face="Arial">Additionaly: I found Ned Harding's approach
intersting. This is what Esri did with ArcView-IMS an MO-IMS.</font>
<br>
<br><font size=2 face="Arial">Ciao</font>
<br><font size=2 face="Arial">Benedikt</font>
<br>
<br><font size=2 face="Arial">UMN MapServer Developers List <MAPSERVER-DEV@LISTS.UMN.EDU>
schrieb am 09.08.2006 10:40:21:<br>
<br>
> Benedikt,<br>
> <br>
> How the global synchronization affect the performance of your<br>
> application in a multiuser environment?<br>
> I afraid this kind of protection cannot be utilized easily for ASP.NET<br>
> since the host process<br>
> may load and execute multiple separate application domains.<br>
> However i am keen to implement such functionality at the SWIG<br>
> interface level as an alternative to the USE_THREAD approach.<br>
> <br>
> Tamas<br>
> <br>
> <br>
> 2006/8/9, Benedikt Rothe <umn-ms@hydrotec.de>:<br>
> ><br>
> > Tamas, Umberto<br>
> ><br>
> > Umberto wrote about good experience with Mapserver-Multithreading
in Java.<br>
> > This is not my experience. In our "Mapserver-Servlet"
we had to use a global<br>
> > synchronizing around<br>
> > mapserver-calls (i.e. disabling multithreading) to avoid
crashes.<br>
> ><br>
> > Benedikt<br>
> ><br>
</font>