一、分布式锁介绍 分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。 线程锁:大家都不陌生,主要用来给方法、代码块加锁。当某个方法或者代码块使用锁时,那么在同一时刻至多仅有有一个线程在执行该段代码。当有多个线程访问同一对象的加锁方法/代码块时,同 ...
分类:
其他好文 时间:
2018-05-24 18:03:32
阅读次数:
178
一、队列queue队列queue多应用在多线程场景,多线程访问共享变量。对于多线程而言,访问共享变量时,队列queue的线程安全的。因为queue使用了一个线程锁(pthread.Lock()),以及三个条件变量(pthread.condition()),来保证了线程安全。总结:队列提供了一个安全可靠的共享数据使用方案。队列内置控制安全的几个参数,非用户使用名称作用self.mutex互斥锁任何获
分类:
编程语言 时间:
2018-05-18 01:19:14
阅读次数:
224
死锁:就是同步方法中有同步代码块,或反之。 例子: 同步锁synchronized和互斥锁ReentrantLock的区别: 例子: synchronized和Lock的区别: Lock中可以自己控制锁是否公平,而且,默认的是非公平锁。 1.两种锁的底层实现方式: synchronized:我们知道 ...
分类:
编程语言 时间:
2018-05-11 20:13:45
阅读次数:
230
参考 yusong:http://www.xuanyusong.com/archives/2477 凉鞋 :https://www.cnblogs.com/liangxiegame/p/Unity-you-xi-kuang-jia-da-jian-ba-jian-shao-jia-ba.html 根 ...
分类:
编程语言 时间:
2018-04-29 15:28:31
阅读次数:
301
ReentrantLock简介 ReentrantLock是一个可重复的互斥锁,又被称为独占锁,可重入的意思是:ReentrantLock锁可以被单个线程多次获取。但是在同一个时间点只能被一个线程锁持有 ReentrantLock使用一个FIFO(先进先出)的等待队里来管理获取该锁所有线程的。 Re ...
分类:
编程语言 时间:
2018-04-27 12:16:58
阅读次数:
144
结论:多线程操作同一个全局变量,加上线程锁吧 ...
分类:
编程语言 时间:
2018-04-07 18:53:14
阅读次数:
154
最近由于工作需要,开始写托管C++,由于C++11中的mutex,和future等类,托管C++不让调用(报错),所以自己实现了托管C++的线程锁。 该类可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区。 如果其他线程尝试进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。 ...
分类:
编程语言 时间:
2018-04-05 01:15:43
阅读次数:
161