#include #include #include #include #include void *thread_T1(void *arg) { for (int i = 1; i <= 5; i++) { printf("My name is 吕锦中\n"); if (i < 5) { int sleep_time = rand() % 5 + 1; sleep(sleep_time); } } return NULL; } void *thread_T2(void *arg) { for (int i = 1; i <= 5; i++) { printf("My student number is 2024414290124\n"); if (i < 5) { int sleep_time = rand() % 5 + 1; sleep(sleep_time); } } return NULL; } void *thread_T3(void *arg) { for (int i = 1; i <= 5; i++) { time_t now = time(NULL); struct tm *tm_info = localtime(&now); char time_str[64]; strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", tm_info); printf("Current time %s\n", time_str); if (i < 5) { int sleep_time = rand() % 5 + 1; sleep(sleep_time); } } return NULL; } int main() { srand(time(NULL)); pthread_t t1, t2, t3; pthread_create(&t1, NULL, thread_T1, NULL); pthread_create(&t2, NULL, thread_T2, NULL); pthread_create(&t3, NULL, thread_T3, NULL); pthread_join(t1, NULL); pthread_join(t2, NULL); pthread_join(t3, NULL); printf("All threads finished.\n"); return 0; }