初级多线程问题
#include<stdio.h>
#include <pthread.h>
#include <stdlib.h>
void thread()
{
for(int i=0; i<3; i++)
printf("This is a pthread.\n");
}
int main()
{
pthread_t id;
if(!pthread_create(&id, 0, (void*)thread, 0))
{
printf("Create pthread error!\n");
exit(1);
}
for(int i=0; i<3; i++)
printf("This is the main process.\n");
pthread_join(id,NULL);
return (0);
}
结果通常是 Create pthread error!请教怎么解决
[解决办法]
函数声明
int pthread_create(pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);
返回值
若成功则返回0,否则返回出错编号.
其实创建是成功了。 楼主判断的返回值有问题。