在C语言中可以使用pthread.h的API来创建线程,pthread.h符合POSIX标准,意味可以在Unix和Linux下运行,Windows NT也提供了相应的支持
创建多线程:#include#include void *thread_func(void *args) { printf("This is thread_func"); return 0; } int main() { pthread_t thread; if(pthread_create(&thread,NULL,thread_func,NULL)) { printf("creat thread failn"); } else { printf("creat thread successfulln"); } pthread_exit(NULL); }
关于pthread_create函数,成功的时候返回的为0,失败的时候返回的是1
第一个参数为指向线程标识符的指针
第二个参数为线程属性
第三个参数为函数的起始地址
第四个参数为运行函数的参数,利用第四个参数可以在创建线程的时候向函数中传入参数
向创建的线程中传入参数:#include创建线程池(创建时候传入参数):#include void *thread_func(void *parameter) { printf("This is thread_func,parameter:%s",parameter); return 0; } int main() { pthread_t thread; char* parameter="ok"; if(pthread_create(&thread,NULL,thread_func,(void *)parameter)) { printf("creat thread failn"); } else { printf("creat thread successfulln"); } pthread_exit(NULL); }
#include#include #define THREAD_NUM 5 void *thread_func(void *parameter) { printf("This is thread_func,parameter:%dn",parameter); return 0; } int main() { pthread_t threads[THREAD_NUM]; for(int i=0;i



