<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>&gt; How the global synchronization affect
the performance of your<br>
&gt; application in a multiuser environment?<br>
</i>I couldn't test the influence of &quot;synchronized&quot;, 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 &quot;Maps
per Minutes&quot;-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 &quot;synchroized&quot;
as a solution but a workaround.</font>
<br>
<br><font size=2 face="Arial"><i>&gt; I afraid this kind of protection
cannot be utilized easily for ASP.NET<br>
&gt; since the host process<br>
&gt; may load and execute multiple separate application domains.<br>
</i>&quot;application domains&quot;? 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">&nbsp; static readonly object globalLock
= new object();</font>
<br><font size=2 face="Arial">&nbsp; ...</font>
<br><font size=2 face="Arial">&nbsp; public void anInstanceMethod () {</font>
<br><font size=2 face="Arial">&nbsp; &nbsp; lock (globalLock ) {</font>
<br><font size=2 face="Arial">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;umnMap.draw();</font>
<br><font size=2 face="Arial">&nbsp; &nbsp; &nbsp;}</font>
<br><font size=2 face="Arial">&nbsp; &nbsp;}</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>&gt; However i am keen to implement such
functionality at the SWIG<br>
&gt; interface level as an alternative to the USE_THREAD approach.<br>
</i>What a pitty! I loved your enthusiasm to provide a &quot;real&quot;
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 &lt;MAPSERVER-DEV@LISTS.UMN.EDU&gt;
schrieb am 09.08.2006 10:40:21:<br>
<br>
&gt; Benedikt,<br>
&gt; <br>
&gt; How the global synchronization affect the performance of your<br>
&gt; application in a multiuser environment?<br>
&gt; I afraid this kind of protection cannot be utilized easily for ASP.NET<br>
&gt; since the host process<br>
&gt; may load and execute multiple separate application domains.<br>
&gt; However i am keen to implement such functionality at the SWIG<br>
&gt; interface level as an alternative to the USE_THREAD approach.<br>
&gt; <br>
&gt; Tamas<br>
&gt; <br>
&gt; <br>
&gt; 2006/8/9, Benedikt Rothe &lt;umn-ms@hydrotec.de&gt;:<br>
&gt; &gt;<br>
&gt; &gt; Tamas, Umberto<br>
&gt; &gt;<br>
&gt; &gt; Umberto wrote about good experience with Mapserver-Multithreading
in Java.<br>
&gt; &gt; This is not my experience. In our &quot;Mapserver-Servlet&quot;
we had to use a global<br>
&gt; &gt; synchronizing around<br>
&gt; &gt; mapserver-calls &nbsp;(i.e. disabling multithreading) to avoid
crashes.<br>
&gt; &gt;<br>
&gt; &gt; Benedikt<br>
&gt; &gt;<br>
</font>