C# Lock 关键字

Lock 关键字

Lock关键字可以在多线程的情况下保证代码运行完成,不会被其他线程中断。通过给指定代码加锁

注意: a必须为引用类型,必须为Static静态

环境

	//1.设置一个锁
	private static bool _lock = false;
	//2.设置全局变量
	private static List<int> a = new List<int>();

模板

	//访问单线程访问a
	lock(a){
		//是否为解锁状态
		if(!_lock){
			//加锁
			_lock = true;
			//do something;
			//解锁
			_lock = false;
		}
	}

A线程访问a数组期间,如果B线程也访问a数组,则会等待A线程访问结束,解锁后进行访问。

原文地址:https://www.cnblogs.com/tangpeng97/p/14074943.html