0

我已经看到了使用线程对数组求和的代码。在这段代码中,创建了一个线程并int返回了一个数据类型:

int iret1, iret2;   
iret1 = pthread_create( &thread1, NULL, print_message_function, (void*) message1); 
iret2 = pthread_create( &thread2, NULL, print_message_function, (void*) message2);

我知道线程是进程的子进程,它用于执行程序。执行程序需要内存,内存由void*数据类型返回。

返回的逻辑原因是int什么?任何人都可以解释实际原因吗?

4

1 回答 1

3

根据man pthread_create

返回值

成功时,pthread_create() 返回 0;出错时,它返回一个错误号,并且 *thread 的内容是未定义的。

该值仅指示线程创建是否成功。

它不是像 那样的内存分配调用malloc,因此我不明白您为什么认为它应该返回一个指针。

于 2012-05-24T13:59:39.267 回答