摘要: .Net的多线程历经历代的演变,已经变得越来越易用简便了,我们可以从头回顾一下: Thread & ThreadPool 通过Thread.IsAlive方法判断是否所有的子线程都执行完成。 这种多线程方式显然比同步方式要快多了,在我4核的机器上快了近4倍。但是带来的负面作用是CPU的压力会很大。原 阅读全文
posted @ 2016-07-04 11:26 VincentLaw 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 之前一直被灌输,C#分值类型和引用类型,在程序运行时,它们分别存在栈(Stack) 和堆(Heap)上。这也是面试经典问题了,但其实其中存在很大的误解。比如某个实例对象中有一个Int型成员。当这个实例初始化并被赋值后,该成员是在 堆中还是栈中?如果始终在栈中显然无法解释,因为栈中数据离开作用域就被释 阅读全文
posted @ 2016-07-04 10:03 VincentLaw 阅读(304) 评论(0) 推荐(0) 编辑
摘要: Static 关键字作为修饰符可以用于类、方法和成员变量上。其含义是对于整个应用程序生命周期内,访问该修饰符修饰的对象/方法/变量都引用到同一实例(内存地址)。但正因如此在多线程下会出现线程安全问题:计数器字段count是静态的,在多线程下循环调用1000次Increase方法,得到的结果未必是10 阅读全文
posted @ 2016-07-04 10:02 VincentLaw 阅读(476) 评论(0) 推荐(0) 编辑