Linux C 语言 多线程开发入门1

本文介绍了一个使用C语言实现的多线程程序,主程序及两个子线程分别以不同频率打印系统时间,展示了pthread库的使用方法,包括线程创建、时间获取和休眠操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:主程序每隔3秒钟打印一次系统时间;主程序创建两个线程,线程1每隔1秒钟打印一次系统时间;线程2每隔2秒钟打印一次系统时间。

目录

1.代码示例

2.Makefile文件示例

3.运行效果展示


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.运行效果展示

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值