一,锁的作用是用来保护全局变量的,例如,static静态数据,global全局数据,或者new和malloc等数据,还有单例模式的类。
二,锁的范围是什么,锁的范围是以{ }为生命周期。
三,不出现死锁的模型是:lock unlock必须成对出现 ,或者是不同数据使用不同的锁。
四,死锁的模型
1,lock lock unlock unlock
2,lock return unlock
3,A中lock 调用B而B中也lock,
4,注意lock的范围。
5, 获取锁顺序不一致导致互相等待: 线程1 -- lock(B)等待A, 线程2 -- lock(A)等待B
五,lock的作用与缺点
1,一般对于临时变量或者new的不同类对象或者参数传递过来的数据,都不会出现死锁。
锁的作用就是保护数据防止数据被篡改。
2,锁会占用很多资源限制程序速度,所以使用锁要特别注意,同时控制好范围相当重要。