Anmerkungen zu pthreads

matmul

Numerisches Praktikum, matmul

pegasus

SUSE Linux Enterprise Server 11 (x86_64)
Linux pegasus 2.6.27.19-5-default #1 SMP 2009-02-28 04:40:21 +0100 x86_64 x86_64 x86_64 GNU/Linux

ries@pegasus:~/pth> cat hallo.c
#include 
#include 
#include 

void *ausgabe( void *ptr );

main()
{
     pthread_t thread1, thread2;
     char *name_1 = "Thread 1";
     char *name_2 = "Thread 2";
     int  return_1, return_2;

     return_1 = pthread_create( &thread1, NULL, ausgabe, (void*) name_1);
     return_2 = pthread_create( &thread2, NULL, ausgabe, (void*) name_2);

     pthread_join( thread1, NULL);
     pthread_join( thread2, NULL);

     printf("Thread 1 : %d\n", return_1);
     printf("Thread 2 : %d\n", return_2);
     exit(0);
}

void *ausgabe( void *ptr )
{
     char *name;
     name = (char *) ptr;
     printf("Mein Name ist %s \n", name);
}
gcc -lpthread -o hallo hallo.c
./hallo

Mein Name ist Thread 1
Mein Name ist Thread 2
Thread 1 : 0
Thread 2 : 0