blob: e42ae26b7e7e49c232579456fac3beea56f3ea8d [file] [log] [blame]
#include <stdio.h>
#include <pthread.h>
int r1 = 0, r2 = 0;
void do_one_thing ( int* ntimes )
{
int i, j, x;
for (i = 0; i < 4; i++) {
printf ("doing one thing\n");
for (j = 0; j < 100000; j++) x = x + i;
(*ntimes)++;
}
}
void do_another_thing ( int* ntimes )
{
int i, j, x;
for (i = 0; i < 4; i++) {
printf ("doing another\n");
for (j = 0; j < 100000; j++) x = x + i;
(*ntimes)++;
}
}
void do_wrap_up ( int one_times, int another_times )
{
int total = one_times + another_times;
printf("wrap up: one thing %d, another %d, total %d\n",
one_times, another_times, total );
}
int main ( void )
{
pthread_t t1, t2;
pthread_create( &t1, NULL, (void*)do_one_thing, (void*)&r1 );
pthread_create( &t2, NULL, (void*)do_another_thing, (void*)&r2 );
// while (1) {}
pthread_join(t1, NULL);
pthread_join(t2, NULL);
do_wrap_up(r1,r2);
return 0;
}