C++中的各种锁
在多线程开发中,经常会遇到数据同步,很多情况下用锁都是一个很好的选择。C++中常用的锁主要有下面几种:互斥锁(std::mutex)
[*]这是最基本的一种锁。它用于保护共享资源,在任意时刻,最多只有一个线程可以获取该锁,从而访问被保护的资源。当一个线程获取了互斥锁后,其他试图获取该锁的线程会被阻塞,直到持有锁的线程释放它。
[*]例如,在一个多线程程序中,如果多个线程需要访问和修改同一个全局变量,就可以使用互斥锁来确保在同一时间只有一个线程能够进行修改操作,避免数据竞争导致的错误结果。
1 #include2 #include3 #include45 std::mutex m; 6 int counter = 0; 78 void increment() { 9 m.lock();10 counter++;11 std::cout 这个好,看起来很实用 谢谢楼主提供! 东西不错很实用谢谢分享 喜欢鼓捣这些软件,现在用得少,谢谢分享! 热心回复! 热心回复! 谢谢楼主提供! 感谢分享,下载保存了,貌似很强大 喜欢鼓捣这些软件,现在用得少,谢谢分享! 很好很强大我过来先占个楼 待编辑 很好很强大我过来先占个楼 待编辑 很好很强大我过来先占个楼 待编辑 感谢分享,下载保存了,貌似很强大 感谢分享,学习下。 用心讨论,共获提升! 热心回复! 感谢,下载保存了 用心讨论,共获提升! 感谢分享,下载保存了,貌似很强大
页:
[1]
2