socket编程套接字选项分析
1.前言 我们讨论的套接字选项,范围是这样的: 套接字选项通过不同的组合,可以达成不同的效果,本着够用就行的原则,本文仅探讨其中的一种设定方式。 基本的参考资料…
1.前言 我们讨论的套接字选项,范围是这样的: 套接字选项通过不同的组合,可以达成不同的效果,本着够用就行的原则,本文仅探讨其中的一种设定方式。 基本的参考资料…
1.背景 在多核世界里开发复杂系统,不可避免地要涉及多进程(线程)协作的场景。最常见的协作模式是生产者-消费者模式。生产者产生消息的时候,如何快速地唤醒消费者去…
1.前言 前几天写了一篇文章(链接在此),探索各种取时间的方式,结论是TSC是精度最高、开销最小的方式,但是同时也声明了,使用的时候可能会碰见很多坑。 今天我们…
1.了解你的CPU 在现代多处理器系统中(如下图),每个系统(System)可能安装多个处理器(Processor/Socket)芯片,每个处理器可能包含多个核…
1.上古版 最原始的取时间的方法大概就是time+localtime了,见代码: 其中time函数返回的是1970年到现在的秒数,精确到秒。 localtime…
1.前言 回调(callback)是实现代码库功能扩展的一种重要机制。 代码库的开发者预留了几个功能扩展点,并以回调接口的形式进行规定。代码库的使用者实现回调接…
1.问题场景 我们的某个系统目前是在一个老旧的平台上运行的,最近处理的数据量有点大,导致数据查找性能大幅下降。 由于平台比较老旧,编译器版本很低,使用标准库中的…
1.最简单的方式 最简单的使用方式是调用event_base_dispatch,声明如下: 注册完事件后,调用此函数,当前线程即进入此函数中执行事件循环。除非用…
1.现象 这是一个在实际开发过程中发现的问题:我们从平台A传了一个数字669,到平台B上后,变成了413。 后来发现数字在传输过程中并没有变化,只不过解析的时候…
1.现象 现象1:最近在写一个新系统,方式是开发一个动态库,嵌入某个主程序中运行,主程序调用我实现的接口完成某些功能。未嵌入动态库时,主程序的TPS可以达到10…