pthread_sample.c
591 Bytes
#include <pthread.h>
/* Content omitted */
static void * my_func ( void * args )
{
int max = (int) *args;
int i;
void * ret = malloc ( sizeof ( int ) );
/* If sharing memory with main process,
use inter-process synchronization */
for ( i = 0 ; i < max ; ++i ) {
(*ret) += i;
}
pthread_exit ( ret );
}
/* Content omitted */
pthread_t comm_thread;
struct thread_params tp;
int * my_ret;
/* Content omitted */
pthread_create ( &my_thread, NULL, my_func, (void *) &tp );
/* Content omitted */
pthread_join ( my_thread, void (**) &my_ret );
/* Content omitted */