您好,我刚接触disruptor, 不知道这是不是最终代码,但有两个疑问:
1. 主函数里把事件发布出去就计了结束的时间,并不是事件处理完成后再计时
2. 当有多个处理器时,处理函数中的变量自增操作还安全么?
Disruptor-cpp 简介简介 Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,使用JAVA语言编写,号称基于Disruptor开发的系统单线程能支撑每秒600万订单。不过,今天主要...
您好,我刚接触disruptor, 不知道这是不是最终代码,但有两个疑问:
1. 主函数里把事件发布出去就计了结束的时间,并不是事件处理完成后再计时
2. 当有多个处理器时,处理函数中的变量自增操作还安全么?
Disruptor-cpp 简介简介 Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,使用JAVA语言编写,号称基于Disruptor开发的系统单线程能支撑每秒600万订单。不过,今天主要...
背景 最近调试一款网关设备,它部署在客户端和服务端之间。在工作时,它同时接收来自客户端的连接,同时又向服务端建立连接。 网关在完全接收来自客户端的数据后,会校验数据合法性,只...
概述 应用程序陷入死循环后,界面可能不会有任何输出,所有的业务也不通,不易定位。 陷入死循环的程序占用的cpu使用率较高,通常可以通过使用top命令看出来。 对于多线程的程序...
概述 现在大家使用的基本上都是多核cpu,一般是4核的。平时应用程序在运行时都是由操作系统管理的。操作系统对应用进程进行调度,使其在不同的核上轮番运行。 对于普通的应用,操作...
背景 前几天在人大经济学课堂上,听到一位老师讲了很有意思的两个问题,在此缕一缕。 基本点:经济学的核心理念是在资源稀缺的情况下创造最大的价值。 怎么做到?对,对这个问题的回答...
什么是网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使...
为什么使用线程锁 在多线程应用程序中,当多个线程共享相同的内存时,如同时访问一个变量时,需要确保每个线程看到一致的数据视图,即保证所有线程对数据的修改是一致的。 如下两种情况...
引出问题 项目中有如下代码片段: 编译代码并执行: 分析与解决 从运行的打印错误可以明显看出,使用memset把结构体初始化为0后,结构体中指针指向NULL。把NULL直接传...
概述 在多数unix系统中,当多个进程/线程同时编辑一个文件时,该文件的最后状态取决于最后一个写该文件的进程。 对于有些应用程序,如数据库,各个进程需要保证它正在单独地写一个...
const是干什么的 定义 When modifying a data declaration, the const keyword specifies that the o...
概述 static关键字在c语言中比较常用,使用恰当能够大大提高程序的模块化特性,有利于扩展和维护。 但是对于c语言初学者,static由于使用灵活,并不容易掌握。本文就st...
背景 c语言中存在静态库(.a)和动态库(.so)。 静态库实际上是一些目标文件的集合,只用于链接生成可执行文件阶段。链接器会将程序中使用到函数的代码从库文件中拷贝到应用程序...
一、背景 先来个问题,下面的一段代码编译时会存在问题吗? 很明显,这个程序是没有问题的,至少语法上没有问题。但是使用 gcc -Wall 选项编译时,会出现如下的编译警告: ...
一、一番对话引起的思考 今天和同事坐地铁去森林公园,进地铁的时候,见他拿着个手机就直接刷了。我不解,随口问了一句: 你把地铁卡放在手机里面不怕消磁了啊? 同事用极其鄙视的眼光...
一、背景 今天codding的时候,发现一个段错误。 打印跟了一下程序,段错误发生在定义数组的时候,感觉程序没毛病,就使用gdb跟了一下,效果如下: 于是就专门测试了一下这个...
今天和杨总坐出租车,发生了下面一段有意思的对话。 我:杨总,你现在住的房子多大呀?杨总:不大,40多平。我:一居室啊,不错哦。杨总:不,两居,小两居。司机:40平都能两居啊,...
一、背景 最近读《程序员的自我修养——链接、装载和库》(俞甲子等著)一书时,看到书中一个很有意思的例子:堆的最大申请数量(原书P168,6.4.3),原来从来没有考虑过这个问...
简介 SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite...
一、什么是netlink Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口。 在Linux 内...