Какой из них наиболее надежный? И в чем разница?
1.
[Synchronization]
public class Person : ContextBoundObject
{
public void Print(){
Console.WriteLine ("Start");
Thread.Sleep (100);
Console.WriteLine ("END");
}
}
2.
private readonly object obj = new object();
public void Print(){
lock (obj) {
Console.WriteLine ("Start");
Thread.Sleep (100);
Console.WriteLine ("END");
}
}
Кстати, main:
Person a = new Person ();
for (int i = 0; i < 10; i++) {
new Thread (a.Print).Start ();
}
Можно ли использовать эту двухстороннюю взаимозаменяемость?