所以我是系统编程和学习线程的新手。术语posix意味着什么?我需要帮助理解以下代码。
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *print_message_function( void *ptr );
main()
{
pthread_t thread1, thread2;
const char *message1 = "Thread 1";
const char *message2 = "Thread 2";
int iret1, iret2;
iret1 = pthread_create( &thread1, NULL, print_message_function, (void*) message1);
iret2 = pthread_create( &thread2, NULL, print_message_function, (void*) message2);
pthread_join( thread1, NULL);
pthread_join( thread2, NULL);
printf("Thread 1 returns: %d\n",iret1);
printf("Thread 2 returns: %d\n",iret2);
exit(0);
}
void *print_message_function( void *ptr )
{
char *message;
message = (char *) ptr;
printf("%s \n", message);
}
我不理解这一行:pthread_join(thread1,NULL); 和函数:void * print_message_function(void * ptr)。
此外,变量iret返回什么?
答案 0 :(得分:1)
它产生了两个线程。
将“返回值”保存到先前声明的变量中。
加入线程,基本上等待它们停止。
打印变量
posix是Unix操作系统的通用标准。 E.g文件结构等
答案 1 :(得分:1)
你应该阅读posix文档。
我不理解这一行:pthread_join(thread1,NULL);和 function:void * print_message_function(void * ptr)。
pthread_join
阻塞,直到线程终止void *print_message_function( void *ptr )
是一个返回void*
并接收void*
作为参数的函数同样,你应该阅读posix文档(并了解更多C)。