当前位置: 首页 > web >正文

【Linux】多线程任务模块

创建多个线程,同时完成任务

task.c

#include <sys/types.h>
#include <unistd.h>
#include<stdio.h>
#include <sys/wait.h>
int create_process_tasks(Task_fun_t tasks[],int tsak_cnt)
{pid_t pid;int i = 0;for(i = 0;i < 4;i++){pid = fork();if(pid > 0){}else if(0 == pid){break;}}if(pid > 0){return 0;}else if(0 == pid){tasks[i]();}else{return -1;}return 0;
}void destroy_task(int tasks_cnt)
{int i;for(i = 0;i < tasks_cnt;i++){wait(NULL);}
}

task.h

#ifndef __TASK_H__
#define __TASK_H__typedef void(*Task_fun_t)(void);//将void (*)(void)函数指针重命名为---->Tsak_fun_textern int create_process_tasks(Task_fun_t tasks[],int tsak_cnt);
extern void destroy_task(int task_cnt);
#endif

main.c

#include<stdio.h>
#include"task.h"
int main(int argc, char const *argv[])
{//void (*pfun_arg)(void)[] = {main_ctl, get_cmd, exec_cmd, get_pic, send_pic};Task_fun_t tasks[] = {main_ctl,get_cmd,exec_cmd,get_pic,send_pic};//函数指针数组里装的是调用者需要执行任务的函数的函数名//调用者可自定义函数所需要实现的功能create_process_tasks(tasks,sizeof(tasks) / sizeof(tasks[0]));//创建多线程destroy_task(sizeof(tasks,sizeof(tasks[0])));//回收线程return 0;
}

http://www.xdnf.cn/news/797.html

相关文章:

  • 【TeamFlow】4.2 Yew库详细介绍
  • 基础版-图书管理系统
  • AOSP Android14 Launcher3——点击桌面图标启动应用动画流程
  • url和http
  • 海外服务器安装Ubuntu 22.04图形界面并配置VNC远程访问指南
  • AI 速读 SpecReason:让思考又快又准!
  • opencv 图像矫正的原理
  • 小刚说C语言刷题——1039 求三个数的最大数
  • PyTorch与TensorFlow模型全方位解析:保存、加载与结构可视化
  • 明心见性与真如三昧
  • CTF web入门之SQL注入使用工具sqlmap
  • 网页下载的m3u8格式文件使用FFmpeg转为MP4
  • C#常用LINQ
  • 快速搭建 Cpolar 内网穿透(Mac 系统)
  • 嵌入式开发板调试方式完全指南:串口/SSH/Telnet及其他方式对比
  • 深度学习框架PyTorch——从入门到精通(3.3)YouTube系列——自动求导基础
  • 【每天一个知识点】主题建模(Topic Modeling)
  • 浙江大学DeepSeek 公开课 第三季 第1期讲座 - 马东方教授 (附PPT下载) by突破信息差
  • 【25软考网工笔记】第三章 局域网(1)CSMA/CD、二进制指数退避算法、最小帧长计算
  • 高品质性价比之王-特伦斯便携钢琴V10
  • 海外版高端Apple科技汽车共享投资理财系统
  • Spark-SQL编程
  • 【第十六届 蓝桥杯 省 C/Python A/Java C 登山】题解
  • 《Java工程师面试核心突破》专栏简介
  • Uniapp 自定义TabBar + 动态菜单实现教程(Vuex状态管理详解)
  • Docker如何更换镜像源提高拉取速度
  • 【Easylive】为什么需要手动转换 feign.Response 到 HttpServletResponse
  • Itext进行PDF的编辑开发
  • GPU高效利用率实战揭秘:蓝耘元生代VS传统云平台的降维打击
  • Spark,hadoop的组成