摘要:
>可以把lock关键字可以看成try{ Monitor.Enter(x); //..}finally{ Monitor.Exit(x);}这样子的结构,当然使用lock关键字更方便>容易混淆的lock(对象)这个里面的锁对象很容易搞混淆,下面区别一下lock(this),lock(typeof(tt)),lock("a")1)lock(this) 下面代码public class A{ public void Foo(){ lock(this){ //... } }}如果是A的同一个对象,开多个线程调用Foo方法,... 阅读全文
摘要:
>1 IEnumerator与IEnumerableIEnumerator与IEnumerable两个接口是用于实现迭代器的接品只要实现了IEnumerable就可以用foreach,linq等语法,一般来说实现IEnumerable接口的是Collection的数据,也就是一个集合,比如List,ArrayList等这种类型,因为一般foreach,linq都是在一个集合中查询而IEnumerator主要是支持IEnumerator一个接口,里面提供了用于迭代的属性和方法,两个接口代码public interface IEnumerable{ IEnumerator GetEnumer 阅读全文