240 发简信
IP属地:贵州
  • 您好,我刚接触disruptor, 不知道这是不是最终代码,但有两个疑问:
    1. 主函数里把事件发布出去就计了结束的时间,并不是事件处理完成后再计时
    2. 当有多个处理器时,处理函数中的变量自增操作还安全么?

    Disruptor-cpp 简介

    简介 Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,使用JAVA语言编写,号称基于Disruptor开发的系统单线程能支撑每秒600万订单。不过,今天主要...

  • linux文件描述符限制及使用详解

    背景 最近调试一款网关设备,它部署在客户端和服务端之间。在工作时,它同时接收来自客户端的连接,同时又向服务端建立连接。 网关在完全接收来自客户端的数据后,会校验数据合法性,只...

  • 调试陷入死循环程序的方法

    概述 应用程序陷入死循环后,界面可能不会有任何输出,所有的业务也不通,不易定位。 陷入死循环的程序占用的cpu使用率较高,通常可以通过使用top命令看出来。 对于多线程的程序...

  • linux下把进程绑定对单独cpu核上运行

    概述 现在大家使用的基本上都是多核cpu,一般是4核的。平时应用程序在运行时都是由操作系统管理的。操作系统对应用进程进行调度,使其在不同的核上轮番运行。 对于普通的应用,操作...

  • 两个逻辑思维训练题

    背景 前几天在人大经济学课堂上,听到一位老师讲了很有意思的两个问题,在此缕一缕。 基本点:经济学的核心理念是在资源稀缺的情况下创造最大的价值。 怎么做到?对,对这个问题的回答...

  • 使用python实现第一个网络爬虫

    什么是网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使...

  • linux线程互斥量pthread_mutex_t使用简介

    为什么使用线程锁 在多线程应用程序中,当多个线程共享相同的内存时,如同时访问一个变量时,需要确保每个线程看到一致的数据视图,即保证所有线程对数据的修改是一致的。 如下两种情况...

  • strcmp/strncmp导致的段错误浅析

    引出问题 项目中有如下代码片段: 编译代码并执行: 分析与解决 从运行的打印错误可以明显看出,使用memset把结构体初始化为0后,结构体中指针指向NULL。把NULL直接传...

  • 文件锁的使用浅析

    概述 在多数unix系统中,当多个进程/线程同时编辑一个文件时,该文件的最后状态取决于最后一个写该文件的进程。 对于有些应用程序,如数据库,各个进程需要保证它正在单独地写一个...

  • c/c++语言中const限定符使用

    const是干什么的 定义 When modifying a data declaration, the const keyword specifies that the o...

  • c语言中static关键字用法详解

    概述 static关键字在c语言中比较常用,使用恰当能够大大提高程序的模块化特性,有利于扩展和维护。 但是对于c语言初学者,static由于使用灵活,并不容易掌握。本文就st...

  • c语言中动态库的使用(启动时链接和运行时链接)

    背景 c语言中存在静态库(.a)和动态库(.so)。 静态库实际上是一些目标文件的集合,只用于链接生成可执行文件阶段。链接器会将程序中使用到函数的代码从库文件中拷贝到应用程序...

  • c语言中指针与数组的异同分析

    一、背景 先来个问题,下面的一段代码编译时会存在问题吗? 很明显,这个程序是没有问题的,至少语法上没有问题。但是使用 gcc -Wall 选项编译时,会出现如下的编译警告: ...

  • RFID、NFC、ETC技术浅析

    一、一番对话引起的思考 今天和同事坐地铁去森林公园,进地铁的时候,见他拿着个手机就直接刷了。我不解,随口问了一句: 你把地铁卡放在手机里面不怕消磁了啊? 同事用极其鄙视的眼光...

  • 数组分配内存过大导致SIGSEGV信号(段错误)

    一、背景 今天codding的时候,发现一个段错误。 打印跟了一下程序,段错误发生在定义数组的时候,感觉程序没毛病,就使用gdb跟了一下,效果如下: 于是就专门测试了一下这个...

  • 或许你奋斗10年才达到别人的起点,但请别放弃

    今天和杨总坐出租车,发生了下面一段有意思的对话。 我:杨总,你现在住的房子多大呀?杨总:不大,40多平。我:一居室啊,不错哦。杨总:不,两居,小两居。司机:40平都能两居啊,...

  • 使用malloc测试堆的最大申请数量

    一、背景 最近读《程序员的自我修养——链接、装载和库》(俞甲子等著)一书时,看到书中一个很有意思的例子:堆的最大申请数量(原书P168,6.4.3),原来从来没有考虑过这个问...

  • sqlite及sqlite odbc driver使用简介

    简介 SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite...

  • linux下netlink的使用简介

    一、什么是netlink Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口。 在Linux 内...