说明:主程序每隔3秒钟打印一次系统时间;主程序创建两个线程,线程1每隔1秒钟打印一次系统时间;线程2每隔2秒钟打印一次系统时间。
目录
1.代码示例
*************************************************************************************************************************************************
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>
#include <time.h>
void *task1(void);
void *task2(void);
int main(int argc, char const *argv[])
{
pthread_t task1_id, task2_id;
if(pthread_create(&task1_id,NULL,task1,NULL)){ //创建线程1
perror("任务1线程创建失败\n");
return -1;
}
if(pthread_create(&task2_id,NULL,task2,NULL)){ //创建线程2
perror("任务2线程创建失败\n");
return -1;
}
while(1){
time_t t;
time(&t);
printf("任务0---打印%s\n",ctime(&t));
sleep(3);
}
return 0;
}
void *task1(void)
{
printf("进入任务1\n");
while(1){
time_t t;
time(&t);
printf("任务1---打印%s\n",ctime(&t));
sleep(1);
}
}
void *task2(void)
{
printf("进入任务2\n");
while(1){
time_t t;
time(&t);
printf("任务2---打印%s\n",ctime(&t));
sleep(2);
}
}
***********************************************************************************************************************************************
2.Makefile文件示例
************************************************************************************************************************************************
test3 :test3.c
gcc -g -o test3 test3.c -lpthread
clean:
rm -rf test3
************************************************************************************************************************************************
直接运行 make 命令生成 test3可执行文件
3.运行效果展示