用Pthreads进行共享内存编程----HelloWorld

2014-11-24 07:37:39 · 作者: · 浏览: 2

1、编译


gcc -g -Wall -o pth_hello pth_hello.c -lpthread


2、运行


./pth_hello


例:运行4个线程,./pth_hello 4


3、源代码


#include
#include
#include


int thread_count;


void * Hello(void * rank);


int main(int argc, char * argv[])
{
long thread;
pthread_t * thread_handles;


thread_count = strtol(argv[1], NULL, 10);


thread_handles = malloc(thread_count * sizeof(pthread_t));


for(thread=0 ; thread pthread_create(&thread_handles[thread], NULL, Hello, (void *)thread);


printf("Hello from the main thread\n");


for(thread=0; thread pthread_join(thread_handles[thread], NULL);


free(thread_handles);
return 0;
}


void * Hello(void * rank)
{
long my_rank = (long)rank;
printf("Hello from thread %ld of %d\n", my_rank, thread_count);
return NULL;
}