作者: 混世小朋友 | 来源:发表于2018-12-26 23:09 被阅读6次

    读写锁和互斥锁

    读写互斥锁,简称读写锁

    mux sync.RWMutex

    Lock和Unlock分别对写锁进行锁定和解锁

    RLock和RUnlock分别多读锁进行锁定和解锁

    1 读写锁与互斥锁之间的不同,源于对共享资源的读操作和写操作区别对待,读写锁之间的互斥,是通过内含的互斥锁来实现的。可以认为读写锁是互斥锁的一种扩展。

    2  对某个受到读写锁进行保护的共享资源,多个写操作不能同时进行,写操作和读操作也不能同时进行,但多个读操作可以同时进行。

    3  对写操作进行解锁,会唤醒“所有应试图锁定读锁,而被阻塞的gorutime”,并且这通常会使他们都完成对读锁的锁定。

    4  对读锁进行解锁,只会在其他没有读锁锁定的前提下,唤醒“应试图锁定写锁,而被阻塞的gorutime”,并且最终只会有一个被唤醒的gorutime能够成功完成对写锁的锁定,其他的gorutime还在原处继续等待,至于是哪个gorutime,那就看谁的等待时间最长。

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/jaqllqtx.html