go--互斥锁

 

解读:

main函数里调用了两次lockPrint方法,这个方法中的println(i, "in lock")这句话,由于是在Mutex的Lock和Unlock之间,所以在第一次调用未被Unlock之前是不可能再被执行的。

结果:

2 lock start

2 in lock

1 lock start

2 unlock

1 in lock

exit!

从上面可以看到:第二行2 in lock打印以后,1 lock start已经进入调用了,但是直到2 unlock后 1才能in lock。

保证了Lock和Unlock之间的代码不能被同时调用。

 

 

相关文章:

  • 2018-07-19
  • 2020-11-02
  • 2022-12-23
  • 2021-12-23
  • 2019-08-11
  • 2021-07-27
猜你喜欢
  • 2021-11-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-28
相关资源
相似解决方案