-
2020-01-02 为了减少线程池的工作线程在任务队列上的竞争, 人们给每一个工作对象创建任务队列, 然而这却可能导致工作线程的任务负载失衡, 工作窃取是解决这个问题的常见方法.
-
2019-12-09 在某些程序中, 并发任务的数量随程序执行而变化, 这种动态性使得简单的控制结构(如简单的线程池)无法实现良好的并行化. 那么如何围绕复杂动态任务集构造并行程序呢?
-
2019-07-16 condition_variable在C++中通常是配合mutex使用, 但是condition_variable通常是系统API的封装, 所以也只接受同样是系统API封装的mutex; condition_variable_any则没有这个要求, 那这个奇怪的东西是怎么实现的呢?
-
2019-05-19 有了executor的概念, future库通常会提供async/then等扩展操作使得我们更舒适地使用future. 然而原本简单的future实现不能支持这一切, 我们需要重写future
-
2019-03-25 大多数并发程序都是围绕"任务执行"来构造的, 人们通常使用Executor框架来抽象任务执行策略, 线程池是典型的Executor.
-
2019-03-09 本文介绍Scheduler, 基于boost::chrono, 分析一下boost::executor::scheduler的源码.
-
2019-01-14 在介绍Scheduler和Executor前, 有必要介绍一下阻塞队列和boost的sync_queue
-
2019-01-07 本文介绍读写锁, 分析一下boost::shared_mutex和std::shared_mutex源码. 用与不用看需求吧
-
2019-01-02 条件变量计时等待, 返回超时不代表没被notify, 导致了Qt4.7.4线程池的一个bug
-
2018-12-31 管程和线程安全对象什么关系? 和条件变量又是什么关系?
-
2018-12-02 future是适用于一次性事件的同步模式, 如果需要多次通信, channel是个不错的选择, C++标准和Boost都没有提供面向线程的channel, 这里我们将讨论如何实现一个带select的channel.
-
2018-08-12 如何获得工作线程的结果? 早期的boost中如何实现future/promise? wait_for_any又是什么原理?
-
2018-07-22 无论哪本操作系统教材, 都会花大篇幅讲述基于信号量的同步模型, 但是boost乃至C++11的线程库都没有提供这个组件, 这是为什么呢?
-
2018-07-20 同步屏障是一种同步方法, 要求线程到达某一点后等待, 直到其他线程都到达这点才能继续执行.
-
2018-07-14 C++语境的并发型模式是怎么样的呢? 我们先从Balking讲起, 讨论3个相关的模式
-
2018-07-04 BOOST_FORACH会不会比iterator慢? 我们还能愉快地使用BOOST_FOREACH吗?
-
2018-06-03 写C++也有一段时间了, 依然没能沐浴C++11的光辉, C++98下又没有方便的像python zip, enumerate之类的方案, 想自己写一个的话, 很自然就想到看一下BOOST_FOREACH是怎么写的.
-
2018-01-03 上一篇博客中, 我们提到了无法保证加锁顺序的多个mutex, 需要一个全锁或全不锁的算法, 才能确保不会死锁, 当时我们用的是std::lock. 那么问题来了, std::lock是怎么做到不会死锁的呢?
-
2017-08-13 scrapy还没有很好用的数据库抽象, django model比较简单, 熟悉的人也多, 正好一用.
-
2016-09-04 swap有何用? 怎么写swap才靠谱? Boost有没轮子? C++11又如何? 线程安全如何考虑? 天哪, 我只是想swap一下而已!
-
2016-01-17 简述一些谷歌的搜索语法以及如何通过设定URL参数达成高级搜索的功能.
-
2015-12-10 let's 探讨一下boost家的shared_ptr到底有多少使用姿势.
-
2015-07-06 首先得下载一个pycrypto的windows安装包, 然后pip安装paramiko
-
2015-05-16 VS中使用第三方库, 比如Boost的时候总是要手动添加包含路径等等, 实在太不智能了, 于是上网找了个方法, 挺好用的, 便记下来
-
2015-05-01 cJSON估计是最小巧的json解析库了, 直接下载的代码只有五百多行, 经过我强迫症地全部展开也只有1600多行, 很小, 也很好理解
-
2015-04-25 曾经碰到面试题疑似要用正则表达式提取xml标签的属性的, 虽然说数学上正则表达式完全攻略xml是做不到的, 但是我们可以试一下能做到什么程度.
-
2015-04-24 据说linux期末考试要编译一个cgminer以彰显makefile大法.
-
2015-03-24 在不使用final的情况下实现不可继承类, 虽然不是很可移植, 但很多情况下都能用
-
2015-03-22 据说各实习招聘笔试总喜欢考sizeof一个结构体的问题, 虽然自己不常用, 不过还是整理了一下写下来了.
-
2015-03-11 学习正则表达式的笔记
-
2015-02-10 用Django的时候怎么写ajax, 其实注意一下csrftoken就好了
-
2015-01-23 VS包含目录中引用环境变量是 $(变量名) 而不是 %变量名%
-
2015-01-01 之前不记得做了什么操作结果VS就不能输入中文了, 复制进入没问题, 但是用输入法输入就无效, 上网找到的方法是:删掉所有输入法,只留你用的那个......
-
2014-12-27 VPS即将到期, 本来以为不会再安装的discourse可能就要在下次有钱续费VPS的时候再安装一次了, 所以还是记下安装过程, 免得下次装找不见.
-
2014-12-03 shadowsocks是轻量级的代理软件,比svn跟难被发现,而且速度很不错,服务端和客户端配置都很简单.linode最低配置,开着代理看视频都没问题.
-
2014-09-16 简记一些TC的用法,方便复习
-