#include #include #include #include void *thread_start(void *arg) { int n = (int) *((int*)arg); sleep(1); for (int i = 0; i < n; i++) { fprintf(stdout, "X "); fflush(stdout); } pthread_exit((void*)&n); } int main() { pthread_t tid; void *r; int n = 500; assert(pthread_create(&tid, NULL, thread_start, (void*) &n)==0); for (int i = 0; i < 700; i++) { fprintf(stdout, "Y "); fflush(stdout); } assert(pthread_join(tid, &r) == 0); return 0; }