头文件
#include<pthread.h>
函数声明
int pthread_create(pthread_t *tidp, const pthread_attr_t *attr, ( void *)(*start_rtn)( void *), void *arg);
编译链接参数
-lpthread
返回值
创建成功,则返回0;失败,返回错误码
参数
- tidp为指向线程标识符的 指针;
- attr用来设置线程属性;
- start_rtn为线程运行函数的指针;
- 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;
}