摘要: 多线程的同步语义是多线程编程的核心,线程之间如果对数据进行同步,如何设计原语:条件变量是多线程同步的基本语义,与os操作系统的信号量语义在实际编程中比较少见。通常只用条件变量的场景比较多。 那么C++11 中的标准库已经支持std::condition_variable and mutex 互斥锁和阅读全文
posted @ 2019-05-09 17:06 kkshaq 阅读(4) 评论(0) 编辑
摘要: Linux 中线程和进程切换的开销: Linux 操作系统层面的进程和线程的实现都是task_struct描述符. task_struct 包含成员变量:内核态stack. 这些都存在3-4G虚拟地址空间的内核态空间中。内核栈用于保存各个寄存器值:CS,DS,SS等. os层面的线程进程切换,都是在阅读全文
posted @ 2019-05-08 16:47 kkshaq 阅读(6) 评论(0) 编辑
摘要: c++ 的初始化过程比较复杂:根据对象的storage duration来分类。所谓storage duration是对象而言的,Storage duration is the property of an object that defines the minimum potential life阅读全文
posted @ 2019-03-15 16:06 kkshaq 阅读(32) 评论(0) 编辑
摘要: 完美转发是c++11 引入右值引用之后,在template 中的延伸. 顾名思义,完美转发是将参数不改变属性的条件下,转发给下一个函数. 因为普通函数的参数一旦具名,始终都是lvalue. 如果把rvalue转发到下一个函数上的参数中,还是rvalue.这就是完美转发的目的。 那么如何支持完美转发呢阅读全文
posted @ 2019-02-27 17:19 kkshaq 阅读(12) 评论(0) 编辑
摘要: C++11 引入了右值引用的概念,由此在引出 an rvalue reference to a cv-unqualified template parameter. 在template function 推导中,我们需要推导出template parameter. 那么template functi阅读全文
posted @ 2019-02-27 15:01 kkshaq 阅读(7) 评论(0) 编辑
摘要: 缓存的适用场景: 缓存的目的是提高访问速度,减少不必要的开销,提高性能。那什么样的场景适用于缓存呢。试想一个多项式的计算是一个CPU bound的操作,如果频繁调用同一个多项式的结果。显然缓存结果是一个提高性能的方法。减少了不必要的CPU开销。另外就是提高访问速度。启动的时候,需要加载DB的数据到内阅读全文
posted @ 2019-02-26 17:16 kkshaq 阅读(8) 评论(0) 编辑
摘要: 本质的原因:raw data和引用计数的管理块,可能是分开的 使用场景: 需要在对象中得到shared ptr, 错误的代码:直接构造新的shared_ptr<A>对象,两个shared_ptr objects 是独立的,pointer to the same raw mem. 两个独立的manag阅读全文
posted @ 2019-02-25 13:09 kkshaq 阅读(18) 评论(0) 编辑
摘要: http://www.cnblogs.com/jason-yang/archive/2012/04/26/2472755.html今天在网上看到一个大数相乘的问题,题目是这样的:输入两个整数,要求输出这两个数的乘积。输入的数字可能超过计算机内整形数据的存储范围。分析:由于数字无法用一个整形变量存储,...阅读全文
posted @ 2015-09-12 14:02 kkshaq 阅读(37) 评论(0) 编辑
摘要: 1.define 和const,inline的区别define的缺点:1.边界效应(必须加括号,才能避免边界效应)#define MUL(A,B) A*B而在使用的时候,这样的调用:int a=1,b=2,c=3,d=0;d=MUL(a+b,c)经过编译时候展开,就变成了d=a+b*c而不是我们所希...阅读全文
posted @ 2015-08-07 11:16 kkshaq 阅读(41) 评论(0) 编辑
摘要: system 就是sap hana database,如果一个system有多个instance,则必须分散到不同的host中,每个system有唯一的sid。hello各位,jackie建议我们去看一篇NOTE,编号是1681092,可以去chorme那里装一个SAP NOTE FINDER的插件...阅读全文
posted @ 2015-08-03 18:12 kkshaq 阅读(28) 评论(0) 编辑