linux学习笔记14-多线程

多线程

线程创建 pthread_create

//线程所需头文件
#include <pthread.h>

//成功返回0, 第一个参数线程id,第二个线程属性可以进行设置,第三个void *函数指针,第四个参数void *类型参数
int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                          void *(*start_routine) (void *), void *arg);

多线程上手

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>


#include <pthread.h>

void *func(void *arg)
{
	printf("thread print content!\n");
}

int main(int argc,char *argv[])
{
	pthread_t pthreadid;
	int result = pthread_create(&pthreadid,NULL,func,NULL);
	if(result != 0)
	{
		printf("create thread faliled: %s!\n",strerror(errno));
	}
	sleep(1);
	return 0;
}

注意事项

  1. 在链接的时候,要加上-lpthread,实现线程的共享库在libpthread中.不加的话,可以图1
  2. pthread_create的第三个参数是void *类型的函数指针.
    
    


秋风 2016-11-26