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线程访问结束,解锁后进行访问。