C++ stl list 踩坑

C++ stl list 获取size()函数非常慢,跟shi一样,生产环境中使用被坑了,有时间看一下源码,严重怀疑是现算的。 #include <iostream> #include <list> #include <s...

2019-07-20 23:58:20

阅读数 0

评论数 0

redis lua脚本实现原子操作

通过lua脚本封装原子操作,对一个key设置比旧数据大的数值,并返回大的数值;如果redis里面不存在该key,直接设置。 eval "local a=redis.call('GET',KEYS[1]) if a==false then redis.call('SET',KEYS[...

2019-06-22 21:37:12

阅读数 29

评论数 0

开源实时流媒体播放服务器程序

DarwinStreamingServer(即DSS)是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。并且DSS是一个开源的基于标准的流媒体服务器,可以运行在WindowsNT和Windows...

2019-04-29 16:29:14

阅读数 123

评论数 0

GDB attach 调试运行中的程序

程序运行时,某个线程在某个逻辑分支卡住了一直出不来,逻辑比较复杂,判断不出来是哪个位置。因此用gdb attach 跟踪现在线程卡在哪个位置。 gdb attach [pid] 调试某个进程 info threads 查看该进程内所有的线程 状态 thread [tid...

2019-03-12 22:49:41

阅读数 119

评论数 0

基于Grafana + Influxdb 的程序内性能监控

基于Grafana + Influxdb 的程序内性能监控 https://www.cnblogs.com/davidwang456/p/7795263.html https://blog.csdn.net/baomw/article/details/89146300

2019-03-06 22:23:33

阅读数 23

评论数 0

任务优先级

事情的优先级从紧急程度和重要程度两个方面去考虑。

2019-03-06 14:12:27

阅读数 28

评论数 0

mysql数据存在时update,不存在时insert

https://www.cnblogs.com/liaojie970/p/6824773.html

2019-02-19 18:33:41

阅读数 18

评论数 0

MSEC

https://github.com/Tencent/MSEC

2018-12-22 14:07:49

阅读数 81

评论数 0

被MYSQL MVCC(多版本并发控制) 坑的经历

高并发insert记录时,主键ID大的可能会比主键ID小的记录先提交成功。(以后再补充)

2018-12-13 17:03:17

阅读数 190

评论数 0

C++ vector 中使用pair

#include <iostream> #include <vector> using namespace std; int main() {     // int64_t li64test;     // c...

2018-11-28 20:46:19

阅读数 208

评论数 0

json和protobuf互转

Java http://code.google.com/p/protobuf-java-format/ C++ https://github.com/shramov/json2pb Python https://github.com/NextTuesday/py-pb-converters...

2018-11-20 14:24:46

阅读数 597

评论数 0

Linux C++ 信号量学习 sem_init sem_post sem_wait sem_timedwait

一、函数简介 信号量的数据类型为结构sem_t,它本质上是一个长整型的数。函数sem_init()用来初始化一个信号量。它的原型为:   extern int sem_init __P ((sem_t *__sem, int __pshared, unsigned int __value)); ...

2018-10-11 21:49:17

阅读数 467

评论数 0

C++ librdkafka一次崩溃记录

1、失败的地方 #define rd_assert(EXPR)  assert(EXPR) 2、realloc失败 realloc非常容易失败,当内存比较大时! https://zhidao.baidu.com/question/2011437754906553988.html 3、原因定...

2018-09-18 17:37:13

阅读数 198

评论数 0

使用boost库实现的 http get操作

/* * HttpBoostCL.h * *  Created on: 2018年4月10日 *      Author: Administrator */#ifndef BOOSTSTUDY_HTTPBOOSTCL_H_#define BOOSTSTUDY_HTTPBOOSTCL_H_#incl...

2018-04-12 21:33:43

阅读数 813

评论数 0

linux boost thread

linux centos  安装boost的方法,    1  yum install boost    2  yum install boost-devel    3  yum install boost-doc安装成功。#include <iostream&amp...

2018-04-05 18:06:42

阅读数 131

评论数 0

分布式高并发服务--幂等性

重复消息是SOA服务实现中非常常见的问题,你永远不要指望调用方每次请求消息不一样,对于读操作,重复消息可能无害,可对于写操作很可能就是灾难。可以通过幂等(Idempotent)模式处理重复的消息,基本处理思路是:1、调用者给消息一个唯一请求ID标识。ID标识一个工作单元,这个工作单元只应执行一次,...

2018-03-08 21:43:42

阅读数 1420

评论数 0

C++计算数组大小、数组拷贝

2018-01-10 10:57:40

阅读数 1822

评论数 0

C++ map和hash_map简单对比

C++ map 和 hash_map 对比 map的基本数据结构是平衡二叉树,hash_map的基础数据结构是hash_table哈希表,下面程序展示了向map和hash_map中插入数据消耗时间对比。 数据量较小的时候可以选择map,数据量大、对插入查找效率要求高的时候选择hash_map。...

2017-12-21 17:29:07

阅读数 1917

评论数 0

二进制转化为16进制字符串

void BibaryToHex(const unsigned char * src, char *dst, int len) { int i = 0, j = 0; unsigned char left = 0x0f; unsigned char right = 0xf0; unsig...

2017-08-11 16:13:19

阅读数 345

评论数 0

Linux C++ 无锁编程 cas

(先保存,以后再整理)高并发服务器经常用到多线程编程,需要对共享数据进行操作,为了保护数据的正确性,有一种有效的方法就是加锁pthread_mutex_t。但是加锁会引起性能的下降,多个线程竞争同一个锁,抢占失败后强制上下文切换。 /******************************...

2017-07-01 19:11:02

阅读数 1997

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭