并发编程
clh01s
这个作者很懒,什么都没留下…
展开
-
c++线程安全的栈
整理自c++并发编程实战/* * threadsafe_stack.cpp * * Created on: Nov 30, 2017 * Author: clh01s@163.com * 线程安全的栈 */#include <exception>#include <iostream>#include <mutex>#include <stack>#inclu原创 2017-11-30 16:18:41 · 1337 阅读 · 0 评论 -
Linux 下 互斥锁的使用
#include <list>#include <mutex>//互斥锁头文件#include <thread>#include <algorithm>#include <iostream>//此list被它下方的some_mutex保护std::list<int> some_list;std::mutex some_mutex;void add_to_list(int new_valu原创 2017-07-08 11:11:58 · 916 阅读 · 0 评论 -
FP风格以及并发的快速排序
这是整理自C++并发编程实战4.12的代码/* * FP_sort.cpp * * Created on: Nov 23, 2017 * Author: clh01s@163.com * FP模式的快速排序以及使用future的并发快速排序 */#include <iostream>#include <list>#include <algorithm>原创 2017-11-25 13:37:57 · 420 阅读 · 0 评论 -
c++使用智能指针的线程安全队列
整理自C++并发编程实战使用std::shared_ptr<>的线程安全队列/* * threadsafe_queue_ptr.cpp * * Created on: Mar 2, 2018 * Author: clh01s@163.com * 为了防止在wait_and_pop()中引发异常, * 所以将shared_ptr<>...原创 2018-03-06 10:10:02 · 2693 阅读 · 2 评论 -
c++使用细粒度锁以及傀儡节点的线程安全队列
研究了一下线程安全的数据结构,参考了 《c++并发编程实战》这本书上的代码写了一个能够编译运行的版本这份代码解决的核心问题是在细粒度锁的并发情况下可能出现的多个锁同时锁住一个节点解决的方法是使用傀儡节点即在队列为“空”的情况下依然有两个节点一个为空的头节点一个为尾的空的傀儡节点实现代码:/* * wait_lock_thread_queue.cpp * * Created on: Apr ...原创 2018-05-10 16:24:10 · 555 阅读 · 0 评论 -
c++线程安全的map
参考了 《c++并发编程实战》这本书上的代码写了一个线程安全可以并发的map/* * threadsafe_map.cpp * * Created on: May 11, 2018 * Author: clh01s * 线程安全的查找表 * 通过boost的shared_mutex实现读写锁 * 假设有一定数量的桶,每一个键都有一个桶 * ...原创 2018-05-17 14:55:36 · 19170 阅读 · 0 评论