我在Windows上的MinGW中使用Pthreads。调用pthread_create将返回错误,该错误将转换为“空间不足”。它指的是哪种空间?是线程堆栈空间吗?
int scannerThreadReturnValue = pthread_create(&parserThreadHandle, &attr, parserThread, (void *)filename);
if(scannerThreadReturnValue != 0) {
printf("Unable to create thread %s\n", strerror(errno));
}
else printf("Parser thread creation successfull\n");
最佳答案
错误消息最可能是错误的,因为pthread_*
系列功能未设置errno
。错误代码由函数返回。
所以国防部你这样的代码:
int scannerThreadReturnValue = pthread_create(&parserThreadHandle, &attr, parserThread, (void*)filename);
if (scannerThreadReturnValue != 0)
{
printf("Unable to create thread: %s\n", strerror(scannerThreadReturnValue));
}
else
{
printf("Parser thread creation successful.\n");
}
这将为您提供正确的错误消息。
关于c - pthread_create空间不足,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16605925/