当前位置:  技术问答>linux和unix

POSIX:pthread_create上下文

    来源: 互联网  发布时间:2015-12-26

    本文导语:  逻辑上,thread创建成功后,会拷贝原始thread的堆栈信息吗? ThreadA -+- ThreadA          |          |(pthread_create)          |          +- ThreadA1 ThreadA1会具有ThreadA的堆栈信息吗? 从下面的例子来看,...

逻辑上,thread创建成功后,会拷贝原始thread的堆栈信息吗?

ThreadA -+- ThreadA
         |
         |(pthread_create)
         |
         +- ThreadA1

ThreadA1会具有ThreadA的堆栈信息吗?

从下面的例子来看,答案似乎是不。
/*
 * Complier & OS
 *     gcc on SLES 9.3
*/
#include 
#include 
#include 
#include 

#define TH_COUNT 10
//#define pthread_yield()       sleep(1)

int exit_flag = 0;
int indicator = 0;
pthread_mutex_t exit_lock = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t print_lock = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t indicator_lock = PTHREAD_MUTEX_INITIALIZER;

void printf_r(const char *fmt, ...)
{
    va_list arg_ptr;
    va_start(arg_ptr, fmt);
    pthread_mutex_lock(&print_lock);
    vprintf(fmt, arg_ptr);
    pthread_mutex_unlock(&print_lock);
}

void *th_main(void *arg)
{
        int cont = 0;
        while( cont == 0 )
        {
                pthread_mutex_lock(&indicator_lock);
                cont = indicator;
                pthread_mutex_unlock(&indicator_lock);
                pthread_yield();
        }
        pthread_mutex_lock(&exit_lock);
        exit_flag++;
        pthread_mutex_unlock(&exit_lock);

        printf_r( "arg=%p,*arg=%dn", arg, *((int*)arg) );

        pthread_mutex_lock(&exit_lock);
        exit_flag--;
        pthread_mutex_unlock(&exit_lock);

        return NULL;
}

int run(void)
{
        int i;
        pthread_t th_list[TH_COUNT];
        int value = 1024;
//      int *arg=(int*)malloc(sizeof(int));
        int *arg=NULL;

//      *arg=value;
        arg=&value;

        for( i = 0; i 

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在linux下使用POSIX多线程库开发应用程序的时候需要定义宏_POSIX_C_SOURCE和_REENTRANT吗?
  • POSIX IPCs 和 System V IPCs
  • makefile中的D_POSIX_C_SOURCE是什么意思?
  • 关于什么是POSIX?
  • 请问以下操作系统中,支持posix的有哪些呢?
  • redhat linux支持什么标准? POSIX, ANSI,SVR4?
  • 谁有关于posix的详细资料
  • 请问那里能下载POSIX函数参考手册
  • aix支持POSIX线程标准吗?
  • 请教POSIX 和 System V 实现的内存共享的相同及不同之处
  • LINUX如何调整POSIX消息队列大小
  • posix共享内存区
  • POSIX 文件系统 Libsqlfs
  • 哪里有POSIX标准下载(免费的)?
  • CSS属性参考手册 iis7站长之家
  • 请问谁知道哪能找到“POSIX多线程程序设计”么?
  • 求,Programming with POSIX Threads by David Butenhof,多谢
  • 求助关于posix ipc 对象创建相关问题
  • 哪本书介绍mutex、POSIX 线程详解
  • SUSv2是一种*nix接口标准吗,就像POSIX.1-2001一样?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3