--- Juval Lowy <[EMAIL PROTECTED]> wrote:
> [MethodImpl(MethodImplOptions.Synchronized)]
> public void DoSomething()
> {
>       /* Method code */
> }

My personal opinion is that this is a bit of a hack - it's place in the framework is 
in Interop
rather than Threading.  The documentation seems to imply that you shouldn't use it for
synchronisation as a rule.

IMHO C# should support the Java-esque syntax of :

lock public void DoSomething()
{
}

> So the compiler does not just plant code.
> Could it be that the .NET runtime merely locks and unlocks before and after
> the method, without exception handling?

It places an attribute on the method which the runtime uses to place a lock.  Java 
does the same.

Thing is, because you can't see what exactly the runtime is doing, it is open to 
interpretation.
MS needs to nail this down IMHO.  If it a valid general purpose synchronisation 
technique then
they need to say so.

Peter




__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to