Juergen, You are absolutely right. This one was staring me right in the face and I didn't even know it; the C program now runs about as badly as the Java program (I suppose this is a good thing, no?) The only change was the do a pthread_join() rather than a busy loop in the main thread. Thanks for the help. Matt Welsh