zoukankan      html  css  js  c++  java
  • Go 初体验

    ==== Mutex为互斥锁,顾名思义,被Mutex锁住的代码同时只允许一个协程访问,其它协程进来就要排队

    如何使用?看代码:

    输出:

    释义:

    并发1000个协程同时更改m的元素,这样会有一部分更改成功,但是还有一部分会出现竟态,造成并发错误,输出结果很明了

    如何避免:

    放开26行,30行便可

    作用是锁住临界区28行,这样就能保证28行同时只有一个协程访问,其他协程进来得排队,等待上一个协程释放资源,即解锁。

     ==== RWMutex为读写锁

    允许多个读者访问共享资源,但是只能有一个写者。不能同时既有读者又有写者。读者的个数和cpu核心数相关,用户与Mutex相同

  • 相关阅读:
    SVN
    jenkins可视化
    Tomcat
    防火墙
    keepalived
    MHA高可用
    http
    inotifywait
    DNS
    nginx
  • 原文地址:https://www.cnblogs.com/Eysa/p/10414438.html
Copyright © 2011-2022 走看看