线程pthread

头文件

#include<pthread.h>

函数声明

int  pthread_create(pthread_t *tidp, const  pthread_attr_t *attr, ( void *)(*start_rtn)( void *), void  *arg);

编译链接参数
-lpthread

返回值
创建成功,则返回0;失败,返回错误码

参数

  1. tidp为指向线程标识符的 指针;
  2. attr用来设置线程属性;
  3. start_rtn为线程运行函数的指针;
  4. arg为运行函数的参数;

pthread_detach(pthread_self());pthread_t thread_id;
pthread_create(&thread_id, NULL, consumer_thread_process, &gw_service);

pthread_setname_np(pthread_self(),"thread_name");

例子

#define _GNU_SOURCE

#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <pthread.h>

static void print_message_function( void *ptr);

void thread_test_function( void *ptr)
{
    pthread_detach(pthread_self());
    pthread_setname_np(pthread_self(),"thread_test");

    system("touch hello.world");
    pthread_exit(0);
}
int main( )
{
    pthread_t thread_test;
    pthread_create(&thread_test, NULL, (void *)&thread_test_function, NULL);

    while(1);
    return 0;
}

上一篇:unix环境编程 第十二章 12.6线程特定数据


下一篇:20191330雷清逸 学习笔记7