37 lines
881 B
C
37 lines
881 B
C
// 编写一个程序, 创建两个线程, 一个线程打印奇数, 另一个线程打印偶数, 要求交替打印1到100的数字。
|
|
#include <stdio.h>
|
|
#include <pthread.h>
|
|
#include <unistd.h>
|
|
|
|
void *printOdd(void *data) // 打印奇数
|
|
{
|
|
for (int i = 1; i <= 100; i++)
|
|
{
|
|
usleep(100 * 1000); // 睡眠 0.1 秒
|
|
if (i % 2 == 1)
|
|
printf("奇数: %d\n", i);
|
|
}
|
|
return NULL;
|
|
}
|
|
|
|
void *printEven(void *data) // 打印偶数
|
|
{
|
|
for (int i = 1; i <= 100; i++)
|
|
{
|
|
usleep(100 * 1000); // 睡眠 0.1 秒
|
|
if (i % 2 == 0)
|
|
printf("偶数: %d\n", i);
|
|
}
|
|
|
|
return NULL;
|
|
}
|
|
|
|
int main(int argc, char const **argv)
|
|
{
|
|
pthread_t tid1, tid2;
|
|
pthread_create(&tid1, NULL, printOdd, NULL);
|
|
pthread_create(&tid2, NULL, printEven, NULL);
|
|
pthread_join(tid1, NULL);
|
|
pthread_join(tid2, NULL);
|
|
return 0;
|
|
} |