27
Feb

Why doesn’t C# have a synchronized keyword?

In Java you can mark a class method as a critical section, i.e. it will only be executed by one thread at a time, by using the synchronized keyword:

synchronized void myMethod()
{
  doSomething();
}

In C# you have to type in this ghastly (and rather obscure) mouthful:

using System.Runtime.CompilerServices;

[MethodImpl(MethodImplOptions.Synchronized)]
void MyMethod()
{
    DoSomething();
}

Why can’t we have a synchronized keyword in C# for this like in Java?

Comments

RSS feed for comments on this entryAdd your comments



(Personal blogs only please: leave blank if you don't have one)

Your comments:

-) razz mad lol cool ??? shock sad smile

Maximum 2 links per comment. Do not use BBCode.