您的位置:首页 > 其它

线程创建后不执行问题

2017-05-24 16:40 197 查看
#include<stdio.h>

#include<pthread.h>

int i = 0;

static void* print_message_function( void *ptr );

int main(int argc ,char** argv )

{

        pthread_t                thread1, thread2;

        char*                    message1 = "Hello";

        char*                    message2 = "World " ;

        void*                    rval = NULL;

        pthread_create( &thread1, NULL, print_message_function, (void*)message1);

        pthread_create(&thread2, NULL, print_message_function, (void*)message2);

        pthread_join(thread1, &rval);     这里才是关键

        printf("thread 1 exit code (%d)\n", (int)rval);

        pthread_join(thread2, &rval);

        printf("thread 2 exit code (%d)\n", (int)rval);

return 0;

}

static void* print_message_function( void *ptr )

{

        char*           message = NULL;

        message = (char *) ptr;

        printf("%s \n", message);

        i++;

        pthread_exit((void*)i);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐