02 2025 档案
摘要:零拷贝: 零拷贝是指计算机执行IO操作时,CPU不需要将数据从一个存储区域复制到另一个存储区域,从而可以减少上下文切换以及CPU的拷贝时间。它是一种I/O操作优化技术。 Linux中的零拷贝: 零拷贝并不是没有拷贝数据,而是减少用户态/内核态的切换次数以及CPU拷贝的次数。 mmap方式:通过内存的
阅读全文
摘要:资源竞争 临界区 不推荐的原因: 性能问题:当某个线程进入临界区后,其他所有要访问共享资源的线程,必须阻塞地等待该线程对临界区访问结束,也就是在调用unlock之后。这意味着初衷是提高性能的多线程设计,此刻“退化为”单线程 维护成本:一旦采用了加解锁的方式来实现对临界区的互斥访问,今后所有涉及此类临
阅读全文
摘要:https://twd6onxsxva.feishu.cn/docx/Ab9VdrgRbofI9uxwmvkcydZznkd
阅读全文
摘要:const int * 和 int const * 等价于修饰值不可变(修饰int) int *const 表示引用不可变(修饰指针) // 引用 值 // 一个const const int *a = &value; // 不可变 可变 int * const b = &value; // 不可变
阅读全文
摘要:问题:在项目移植过程中,原项目能跑,移植后的项目采样值始终为0。 原因:adc的采样通道已经从PA0改到了PC0,这时候应该选用ADC_Channel_10,而不是继续选用ADC_Channel_0。
阅读全文