一、recursive_mutex class MyClass { public: void Fun1() { // std::lock_guard<mutex> sguard(m_mutex); // 加锁处理共享内存 std::lock_guard<recursive_mutex> sguard ...
分类:
其他好文 时间:
2020-06-27 20:25:35
阅读次数:
70
一、单例设计模式共享数据例子 std::mutex myTutex; class UniqueElement { public: static UniqueElement* GetInstance() { if (m_instacne == nullptr) // 双重检测,提高程序运行效率 { s ...
分类:
其他好文 时间:
2020-06-26 14:56:15
阅读次数:
61
一、unique_lock 的第二个参数 (1)std::adopt_lockunique_lock对象在构造的时候,不执行mutex::lock()所以必须要把互斥量提前 lock(),该参数与 lock_guard 使用相同 m_mutex1.lock(); // 使用adopt_lock 之前 ...
分类:
其他好文 时间:
2020-06-25 19:20:00
阅读次数:
98
一、基本概念 1、互斥量(mutex) 互斥量:是个类对象(可以理解为一把锁),多个线程尝试用lock()成员函数来加锁这把锁,只有一个线程能锁定成功(成功的标志是lock()函数能够返回,返回不了说明没有锁成功) 2、死锁 死锁:一般是两个或两个以上的互斥量,在两个或多个地方上锁的顺序不一致导致的 ...
分类:
编程语言 时间:
2020-06-25 17:29:08
阅读次数:
69
论文: Hierarchical Representations for Efficient Architecture Search 论文地址:https://arxiv.org/abs/1711.00436 Introduction 由于网络的验证需要耗费很长的时间,神经网络结构搜索计算量非常巨大 ...
分类:
编程语言 时间:
2020-06-25 15:59:24
阅读次数:
83
直接把注释写到代码中: 1 int 2 __pthread_mutex_lock (pthread_mutex_t *mutex) 3 { 4 unsigned int type = PTHREAD_MUTEX_TYPE_ELISION (mutex); 5 6 //安全检查 7 LIBC_PROB ...
分类:
其他好文 时间:
2020-06-20 21:54:01
阅读次数:
156
Semaphore (JDK) 我们使用semaphore去限制获取特定资源的并发线程数量。 下面的例子中,我们实现了一个简单的登录队列来限制登入系统的用户数量: class LoginQueueUsingSemaphore { private Semaphore semaphore; public ...
分类:
其他好文 时间:
2020-06-18 23:25:29
阅读次数:
86
论文阅读-Hierarchical Cross-Modal Talking Face Generation with Dynamic Pixel-Wise Loss 论文链接: http://openaccess.thecvf.com/content_CVPR_2019/html/Chen_Hier ...
分类:
其他好文 时间:
2020-06-18 16:28:16
阅读次数:
66
lock和Monitor的区别 lock的底层本身是Monitor来实现的,所以Monitor可以实现lock的所有功能。 Monitor有TryEnter的功能,可以防止出现死锁的问题,lock没有。 Mutex和其他两者的区别 Mutex本身可以实现lock和Monitor所有的操作。 但是Mu ...
分类:
其他好文 时间:
2020-06-15 00:04:17
阅读次数:
74
互斥锁(互斥量) 创建互斥锁 pthread_mutex_t mutex; 初始化互斥锁 pthread_mutex_init(pthread_mutex_t* mutex, const pthread_mutexattr_t* attr); 销毁互斥锁 pthread_mutex_unlock(p ...
分类:
编程语言 时间:
2020-06-13 00:08:25
阅读次数:
67