首页 2013年4月

2013年4月

  • pthread中线程是怎么创建的(2)---glibc到内核

    pthread中线程是怎么创建的(2)---glibc到内核

    在glibc中线程创建是这个文件种来定义的:nptl/pthread_create.c 创建过程为,pthread_create 调用__pthread_create_2_0, __pthread_create_2_0调用__pthread_create_2_1, 或者pthread_create直接调用__pthread_create_2_1,在由__pthread_create_2_1调用create_thread来创建。 在create_thread中,首先是设置了很多内核clone的标志,因为对内核...

    kernel 2013-04-28 110 0 thrift
  • pthread中线程是怎么创建的(1)---glibc中的别名机制symver(symbol version)

    pthread中线程是怎么创建的(1)---glibc中的别名机制symver(symbol version)

    那天看了看glibc的线程相关的代码之后,又想看看线程的创建过程,今天趁着程序还在跑的功夫看了看glibc和内核代码,简单过了一下,也顺便记录下。 glibc种线程创建是这个文件种来定义的:nptl/pthread_create.c 我们平时使用的时候一般是include pthread.h文件就可以使用pthread_create来创建线程了,但是在这个pthread_create.c文件中居然是直接找不到pthread_create函数的定义的,找到的只是: __pthread_create_2_0 _...

    kernel 2013-04-28 75 0 thrift
  • 线程种的gettid和pthread_self区别

    线程种的gettid和pthread_self区别

    这几天写程序老是使用thread来做,所以自己封装了一个threadbase的类来做简单的测试使用,但是在写的过程种发现又两个获取线程id的函数:pthread_self和gettid,那这两个函数有什么区别呢? 看gettid的man,这样写道: gettid() returns the caller's thread ID (TID). In a single-threaded process, the thread ID is equal to the process ID (PID, as ret...

    kernel 2013-04-22 76 0
  • crontab环境变量导致脚本运行错误

    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执行总是没有数据文件过滤出来,但是自己再本地...

    linux 应用 2013-04-15 59 0 xgcomglibc
1