摘要:
对线程同步做一个总结,一般来说,线程同步比较让人纠结的地方在于它是许多线程共用一段代码的,而且什么时候谁用谁不用,也基本是不可控制不可预料的,那么对于它们可能会同时访问并更改的数据,就需要加锁了。加锁就是将一段代码变为临界区 —— 一段在同一时候只被一个线程进入/执行的代码,加锁的方式一般有两种,Lock关键字C#提供lock关键字实现临界区,MSDN里给出的用法:Object thisLock= new Object();lock (thisLock){ // Critical code section} 此方法的难点是如何选择锁的对象,比如写日志类,如果是静态对象锁自身,那么即使是不冲突的 阅读全文