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

多线程编程简单例题(3个线程) Linux环境 C语言实现

问题:编写程序完成如下功能:程序创建2个线程,然后:
        1> 主线程先打印“I am main thread”,然后睡眠2秒后,打印"main thread wake up",主线程退出
        2> 第一个新线程先打印“I am the first new thread”,然后睡眠3秒后,打印"the first new thread wake up",退出
        3> 第二个新线程先打印“I am the second new thread”,然后睡眠5秒后,打印"the fsecond new thread wake up",退出
    要求能看到所有打印信息



代码:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <unistd.h>
#include <pthread.h>
#include <assert.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>void *fun1(){printf("I am the first new thread\n");sleep(3);printf("the first new thread wake up\n");return NULL;
}void *fun2(){printf("I am the second new thread\n");sleep(5);printf("the second new thread wake up\n");return NULL;
}int main(int argc,char *argv[]){pthread_t id[2];int ret = 0;ret = pthread_create(&id[0],NULL,fun1,NULL); // thread1ret += pthread_create(&id[1],NULL,fun2,NULL); // thread2if(ret){printf("pthread_create failed\n");return 1;}printf("I am main thread\n"); // main threadsleep(2);printf("main thread wake up\n");pthread_exit(NULL); // main thread exitpthread_join(id[0],NULL); // thread1 exitpthread_join(id[1],NULL); // thread2 exitreturn 0;
}

输出:

相关文章:

多线程编程简单例题(3个线程) Linux环境 C语言实现

问题&#xff1a;编写程序完成如下功能&#xff1a;程序创建2个线程&#xff0c;然后&#xff1a; 1> 主线程先打印“I am main thread”&#xff0c;然后睡眠2秒后&#xff0c;打印"main thread wake up",主线程退出 2> 第一个新线程先打印“…...

UG NX12.0建模入门笔记:1.2 鼠标的基本操作

文章目录 前言&#xff1a;鼠标的操作1.鼠标左键&#xff1a;单击—>单选&#xff1b;长按并滑动—>框选。2.鼠标右键&#xff1a;在不同的地方单击弹出不同的菜单。3.鼠标中键&#xff1a;滚动中键—>放大缩小【镜头拉近拉远】。4.鼠标中键&#xff1a;摁住鼠标中键&…...

NVME盘未格式化导致Ubuntu20.04启动慢

背景 最近公司一款产品转产&#xff0c;工厂组装好后&#xff0c;用我提供的系统镜像烧录&#xff0c;系统起来后发现Ubuntu20.04转圈了90秒才进入图形界面&#xff0c;这是不可接受的&#xff0c;公司老总要求当天必须解决。 定位 分析syslog 看不到系统启动时的日志&…...

VSCode创建插件HelloWorld找不到指令解决办法

按照网上的教程执行yo code并且生成成功 但是F5打开调试新窗口后&#xff0c;ctrl shift P&#xff0c;输入helloworld并没有指令提示 原因&#xff1a;当前电脑安装的VSCode版本过低&#xff0c;不支持当前插件的使用&#xff08;因为自动生成的插件总是默认使用最新版VSC…...

第20场 小白入门赛本场比赛为「蓝桥·算法双周赛」第二十场分级赛——小白入门赛

1. 四个亲戚【算法赛】 问题描述 风流倜傥的贾宝玉&#xff0c;拥有四个如花似玉的亲戚:林黛玉、薛宝钗、元春和迎春。这日&#xff0c;他们组团出国旅游了。为了方便称呼&#xff0c;宝玉给她们取了英文昵称&#xff0c;分别为:Daiyu、Baochai、Yuanchun 和Yingchun。但是&a…...

论文研读 | End-to-End Object Detection with Transformers

DETR&#xff1a;端到端目标检测的创新 —— 作者 Nicolas Carion 等人 一、背景与挑战 目标检测是计算机视觉领域的一个核心任务&#xff0c;要求模型精确识别图像中的物体类别和位置。传统方法如 Faster R-CNN&#xff0c;因其区域建议网络等复杂结构&#xff0c;使得模型调…...

构建高效在线教育平台:Spring Boot的力量

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理信息化在线教学平台的相关信息成为必然。开…...

C#Process进程的使用,以及对ProcessInfo中所有的参数详细记录

目录 一、Process 二、ProcessInfo 2.1 FileName 2.2 Arguments 2.3 WorkingDirectory 2.4 CreateNoWindow 2.5 UseShellExecute 2.6 RedirectStandardInput 2.7 RedirectStandardOutput 2.8 RedirectStandardError 2.9 WindowStyle 2.10 Verb 2.11 LoadUserProfil…...

STM32中的RAM和ROM分别是什么

RAM&#xff08;Random Access Memory&#xff0c;随机存取存储器&#xff09;和ROM&#xff08;Read-Only Memory&#xff0c;只读存储器&#xff09;是计算机系统中的两种常见存储器类型&#xff0c;它们各自有不同的功能和用途。 1. RAM&#xff08;内存&#xff09; 定义…...

Spring--1

spring是一个轻量级的&#xff0c;采用IOC与AOP编程思想的java后端开发框架&#xff0c;简化了企业级的应用开发。 Spring体系 数据访问层&#xff0c;Web层&#xff0c;配置中心&#xff0c;测试区 IOC 控制反转&#xff0c;将创建对象的控制权交由Spring框架&#xff0c;需…...

【Flutter】页面布局:流式布局(Wrap、Flow)

在移动应用开发中&#xff0c;布局是非常重要的一部分&#xff0c;尤其是当我们需要处理动态或自适应的内容时。Flutter 提供了几种布局方式来帮助开发者处理复杂的 UI 场景&#xff0c;其中 Wrap 和 Flow 是常用的流式布局组件。它们在处理多个子组件时表现优越&#xff0c;尤…...

Delphi数据字典TDictionary

在 Delphi 中&#xff0c;创建一个数据字典通常意味着使用一种结构来存储键值对。Delphi 没有内建的字典类型&#xff0c;但你可以使用 TStringList 从 Classes 单元作为一个简单的键值对存储&#xff0c;或者你可以使用更复杂的第三方容器&#xff0c;如 TDictionary 从 Gener…...

VsCode 如何自定义代码片段(Code Snippet)

前言 在现代前端开发中&#xff0c;提高工作效率是每个开发者的追求。Visual Studio Code&#xff08;Vscode&#xff09;作为一款强大的代码编辑器&#xff0c;提供了许多让开发者高效编程的功能&#xff0c;其中自定义代码片段&#xff08;Code Snippet&#xff09;便是一个…...

Linux服务器前后端项目部署vue+springboot—搭建服务器上的运行环境(JDK、Redis、MySQL、Nginx)

Linux服务器前后端项目部署—①搭建服务器上的运行环境 一、系统参数信息和使用工具 1、服务器信息 华为云 CenteOS7.8 64 配置信息&#xff1a;2核4G 2、使用工具 Xshell6 二、环境安装和配置 &#xff08;一&#xff09;JDK的下载和安装 1、创建一个新目录或者进入目…...

随记:有关idea中jdk版本

第一个地方&#xff1a;这个可能就是你整个项目的jdk版本的使用&#xff0c;你改了这里大概率可以改了 第二个地方&#xff1a; 就是 有关maven项目的 pom文件 一开始我的第一地方用的是 17 但是这里用的是8 但是运行的时候还是 17 这里可能是 maven的 项目这个地方只是对…...

【算法篇】贪心类(1)(笔记)

目录 一、理论基础 1. 大纲 2. 求解步骤 二、Leetcode 题目 1. 分发饼干 2. 摆动序列 3. 最大子序和 4. 买卖股票的最佳时机 II 5. 跳跃游戏 6. 跳跃游戏 II 7. K 次取反后最大化的数组和 8. 加油站 9. 分发糖果 一、理论基础 1. 大纲 2. 求解步骤 将问题分解为…...

el-select 可搜索、多选状态遮挡住搜索框

el-select 可搜索多选状态遮挡住搜索框 最近在使用 element-ui 中 el-select组件遇到一个问题&#xff0c; 我们需求可以多选&#xff0c;也可以输入搜索&#xff0c; 当鼠标在边框时才是输入搜索状态&#xff0c;通过下面gif动图可发现鼠标经过边框时&#xff0c;才显示清空图…...

el-table中实现可选表格区域的鼠标事件检测

背景描述 vue3element plus想要实现el-table中特定区域内的单元格才可点击 代码实现 首先&#xff0c;需要给el-table绑定单元格点击事件 <el-table :data"currTableData"borderstyle"width: 100%;"height"calc(100vh - 400px)"cell-clic…...

特种作业操作登高架设作业历年真题附答案

1.直接引起坠落的客观危险因素之平均温度低于&#xff08; &#xff09;℃。 A.10 B.3 C.5 答案:C 2.从事脚手架支搭作业的人员必须年满&#xff08; &#xff09;周岁。 A.18 B.20 C.22 答案:A 3.跨越架横杆有效部分的小头直径不…...

schedule-执行周期性任务

模块介绍 该模块主要用于python的任务调度&#xff0c;使用简便友好的python语法定期运行python函数或者一些其他的调用对象&#xff0c;这个模块就类似于windows的任务计划和linux的crontab&#xff0c;都是用于在服务器上周期性执行某段python脚本。 相较于linux的crontab对…...

Perplexity本地化查询实战:手把手教你用Ollama+Llama3构建离线知识库(含性能压测数据)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity本地服务查询 Perplexity 本地服务查询是指在不依赖云端 API 的前提下&#xff0c;通过本地部署的模型与推理服务&#xff08;如 Ollama、LM Studio 或 Text Generation WebUI&#xff09;完…...

在OpenClaw中快速接入Taotoken并开始你的第一个Agent任务

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在OpenClaw中快速接入Taotoken并开始你的第一个Agent任务 对于使用OpenClaw进行AI应用开发的工程师来说&#xff0c;接入不同的模型…...

告别标注烦恼!用DINO+ViT自监督训练,5步搞定你的图像特征提取器(附代码)

5步实战DINOViT自监督训练&#xff1a;零标注构建高效图像特征提取器 在计算机视觉领域&#xff0c;数据标注一直是制约模型性能提升的瓶颈。传统监督学习需要大量人工标注数据&#xff0c;而高质量标注不仅成本高昂&#xff0c;还可能引入人为偏见。自监督学习(self-supervise…...

如何用Element React构建企业级React应用:完整组件库实战指南

如何用Element React构建企业级React应用&#xff1a;完整组件库实战指南 【免费下载链接】element-react Element UI 项目地址: https://gitcode.com/gh_mirrors/el/element-react Element React作为一套基于React框架的企业级UI组件库&#xff0c;为开发者提供了50余种…...

别再硬着头皮写测试了!用Mockito 4.x搞定Spring Boot单元测试的5个真实场景

告别低效测试&#xff1a;Mockito 4.x在Spring Boot中的5个实战技巧 在Java开发领域&#xff0c;单元测试是保证代码质量的重要环节&#xff0c;但面对Spring Boot这样功能强大的框架&#xff0c;测试工作常常变得复杂而低效。依赖注入、数据库交互、外部服务调用等因素让测试代…...

如何在Inkscape中快速实现免费高效的光学设计与光线追踪?

如何在Inkscape中快速实现免费高效的光学设计与光线追踪&#xff1f; 【免费下载链接】inkscape-raytracing An extension for Inkscape that makes it easier to draw optical diagrams. 项目地址: https://gitcode.com/gh_mirrors/in/inkscape-raytracing 你是否曾为…...

OpenSTA静态时序分析引擎技术深度解析:开源时序验证核心架构揭秘

OpenSTA静态时序分析引擎技术深度解析&#xff1a;开源时序验证核心架构揭秘 【免费下载链接】OpenSTA OpenSTA engine 项目地址: https://gitcode.com/gh_mirrors/op/OpenSTA OpenSTA作为一款开源的静态时序分析引擎&#xff0c;为数字集成电路设计提供了工业级的时序验…...

从‘看见’到‘看懂’:手把手拆解RGB-D摄像头(如Intel Realsense)的3D视觉原理与应用

从‘看见’到‘看懂’&#xff1a;手把手拆解RGB-D摄像头的3D视觉原理与应用 当你第一次看到RGB-D摄像头生成的彩色点云在屏幕上旋转时&#xff0c;那种将现实世界数字化的震撼感令人难忘。但真正让这种设备发挥价值的&#xff0c;是理解它如何将光信号转化为三维坐标的完整技术…...

LRC歌词制作终极指南:轻松创建专业级同步歌词的免费工具

LRC歌词制作终极指南&#xff1a;轻松创建专业级同步歌词的免费工具 【免费下载链接】lrc-maker 歌词滚动姬&#xff5c;可能是你所能见到的最好用的歌词制作工具 项目地址: https://gitcode.com/gh_mirrors/lr/lrc-maker 你是否曾经在听歌时想要制作属于自己的歌词文件…...

网盘直链解析助手:一站式解决多平台文件下载难题

网盘直链解析助手&#xff1a;一站式解决多平台文件下载难题 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 …...