锁一般用在多线程中,
作用是:把同步的共享数据放在里面,这样,这些数据在想干什么就干什么,与锁外面的无关,
但是,锁外面的线程都在急着进去,因为,里面有其他线程,所以,进不去。
只有当里面线程出来时,这时,等于释放了这个锁,而其他的线程就可以进去一个了。同理,它在里面时,也是想干什么都行,锁外面都进不去,只能等它出来后,释放了锁。其它线程才能进去。
毕老师在讲到这里时,举了个经典的例子:就是在火车上的厕所。你去看看,就会明白了。
其实,锁就像一个厕所一样。里面只能有一个人在里面办事,等这个出来了,把厕所门打开了,就是释放了厕所。这时,其他人才能进去一个。明白了吧。 |