Blogs

线程种的gettid和pthread_self区别

这几天写程序老是使用thread来做,所以自己封装了一个threadbase的类来做简单的测试使用,但是在写的过程种发现又两个获取线程id的函数:pthread_self和gettid,那这两个函数有什么区别呢?

看gettid的man,这样写道:

继续阅读

crontab 环境变量导致脚本运行错误

1.缺少LANG的ls取值错误 程序:

yestoday=`date +%Y%m%d -d-1day`
ytoday=`date +%F -d-1day`
pathroot="/data5/tt_chat/"
filelist=`ls $pathroot/data/ -l|grep $ytoday|awk '{print $8}'`
echo $filelist

按时间过滤过滤出昨天一天生成的文件,让后再做处理,本地测试执行,没有问题,加入crontab执行总是没有数据文件过滤出来,但是自己再本地执行,就可以了

继续阅读

mysqldb:2014:Commands out of sync; you can't run this command now

自己写了一个python的mysql的访问类,在python的多线程种使用种有了点问题,就是报这个2014的错误,在网上搜了很多资料,基本都是说mysqldb有问题,但是在解决方法上我这里测试通过一种方式:

在每次查询或是更新的时候,从新获取一个sql执行结构体cursor,执行完毕之后在close这个cursor,例如在类方法种我这样写:

继续阅读

python中thread的简单使用

今天在整理一个pyton的脚本,功能是以http+json返回数据拉去线上一些模块的状态信息,一般在5分钟以内就可以跑完,昨天开始由于原始数据太多了,结果搞得5分钟跑不完了,后面的数据统计就有点乱了,仔细分析看了看之后是在网络数据拉去上花费的时间比较多,原来是单进程,单线程的,就想着如果修改成多线程会好一点,python种线程使用还是比较简单的了,从threading.thread继承了一个线程类,类里面直接编写__init__, run, __del__方法,这样就是一个基本的线程类了

继续阅读

js中使用sort对json数据进行排序

json格式的数据输出的时候一般是没有排序的,在展示的时候需要另外进行排序。这里总结了js对json数据排序的方法。 js中是弱类型变量,所以一般获取到数据是会按照系统自定义的类型处理,在我的系统中系统默认把数字也转化成了: “value”:“17404"这样的格式, 所以在处理上如果直接比较排序,它就会按照字符串来排序,所以要强制类型转化一下,转换为整型。 不说了,直接贴代码吧:

字符串比较排序:kdata是一个json数组,里面的有value字段,如下:

继续阅读

terminate called after throwing an instance of 'stdz::logic_error'

程序编译没有问题,突然在测试的时候出了这样的问题。 terminate called after throwing an instance of ‘std::logic_error’ what(): basic_string::_S_construct NULL not valid 这个问题在我这里是因为调用了getenv,但是在测试的是后get

继续阅读

Apache显示有加载php模块却不支持php文件解析问题

在测试环境搭建了一个新的LAMP环境,但是结果比较奇怪,访问页面的时候提示如下:

 Apache/2.2.9 (Unix) PHP/5.3.3 mod_wsgi/3.3 Python/2.6.4 Server at zhwen.isoso.com Port 80

这里显示已经成功加载了php的模块,应该可以支持php了,但是每次遇到php文件,结果还是原文下载了。

http.conf中的配置也没有错啊

继续阅读

c种内存分配错误:malloc.c:3096: sYSMALLOc: Assertion

今天在学习一个小程序的时候出现了下面的内存分配错误。 rbtest: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) &&

继续阅读

nginx模块编程学习笔记3--模块主要数据结构

在nginx模块编写种主要会涉及到下面3个数据结构,这一篇我就先来看看这3个数据结构的作用和意义。 ngx_command_t ngx_module_t ngx_http_module_t 前面这两个是定义在这个文件中:src

继续阅读

nginx模块编程学习笔记2--数据类型

在模块种出现了一些nginx特有的数据类型,这里做笔记记录一下。 nginx种数据类型:整型,字符串 src/core/ngx_config.h 种定义了这么集中比较常用的数据类型: typedef intptr_t

继续阅读