11 2015 档案

thinking in object pool
摘要:1.背景对象池为了避免频繁创建耗时或耗资源的大对象,事先在对象池中创建好一定数量的大对象,然后尽量复用对象池中的对象,用户用完大对象之后放回对象池。2.问题目前纵观主流语言的实现方式无外乎3个步骤:初始创建一定数量的对象池(也允许从外面添加对象)。从对象池中取对象来使用。用完之后返回对象池。一般情况... 阅读全文

posted @ 2015-11-25 17:05 qicosmos(江南) 阅读(3687) 评论(6) 推荐(0)

worksteal thread pool
摘要:worksteal的场景 对于一个线程池,每个线程有一个队列,想象这种场景,有的线程队列中有大量的比较耗时的任务堆积,而有的线程队列却是空的,现象就是有的线程处于饥饿状态,而有的线程处于消化不良的状态,这时就需要一种方法来解决这个问题。需要worksteal,顾名思义就是任务窃取,当一个线程处于饥... 阅读全文

posted @ 2015-11-18 18:10 qicosmos(江南) 阅读(5222) 评论(0) 推荐(2)

check member function
摘要:templatestruct has_member_foo11{private: template static auto check(int) -> decltype(std::declval().foo(), std::true_type()); template static st... 阅读全文

posted @ 2015-11-02 13:58 qicosmos(江南) 阅读(1421) 评论(0) 推荐(0)

CHECK MEMBER TYPE
摘要:检查类里是否存在某种类型的几种方法,以检查xxx类型为例:方法1:templateclass has_member_type_Type{ struct big { char a[2]; }; template static big probe(typename C::xxx*); //... 阅读全文

posted @ 2015-11-02 10:14 qicosmos(江南) 阅读(1548) 评论(1) 推荐(0)

导航