跳至正文

C++

了解一下boost的fiber

fiber是纤程,用户级纤程,在用户层提供调度管理器,可以在系统线程上切换纤程,它主要的好处:

  • 切换非常快,按照boost的数据,快100倍[1]
  • 纤程访问父线程的数据不需要加锁,因为不具备竞争;
  • 基于完全同步的写法来实现的fiber阻塞和切换;

引用

  1. https://www.boost.o[……]

    继续阅读

C++ 继承和虚拟继承的内存分布

  • 技术

菱形继承

菱形继承:菱形继承的问题在于数据冗余和二义性。

将子类转化成爷爷类的时候会报错,因为不知道要转化到哪个类上去,这里需要加入static_cast才行。爷爷类会在两个父类中都被定义,解决的办法是:虚拟继承。

虚拟继承让被菱形继承的父类只会存在一份,消除数据冗余,那这里就得问一下,内存是如何布[……]

继续阅读