void *main_thread( void* dummy ) { (void)dummy; // Create the threads. ThreadId thread1_id = create_thread( func1, NULL ); ThreadId thread2_id = create_thread( func2, NULL ); // Wait for them to finish. wait_for_thread( thread1_id ); wait_for_thread( thread2_id ); return NULL; } void *func1( void *dummy ) { (void)dummy; for ( int i=5; i--; ) { printf( "func1\n" ); if ( i ) thread_sleep( 1 ); } return NULL; } void *func2( void *dummy ) { (void)dummy; for ( int i=5; i--; ) { printf( "func2\n" ); if ( i ) thread_sleep( 1 ); } return NULL; }