IO进程day6

Echarts之风力风速玫瑰图 风力风速玫瑰图前言改进之路代码如下总结导出与导入 前言 今天上班收到任务,我们老大让我研究一下这个“风速风向玫瑰图”,还说这个是百度的雷达图的变异体,于是乎我直接找的雷达图,但是雷达图没有这种柱形的,都是点线,然后我又找了好久,最后突然在echarts官网上面看到了图1-2,才终于有了思路,原来这个图不是雷达图的变异体,而是极坐标系下的堆叠柱状图,于是就开始我的“改进”之路了。 图1-1 改进之路... 阅读详情

一、思维导图

二、练习题1

        有一个隧道,长1000m,有一辆高铁,每秒100米,有一辆快车,每秒50m 要求模拟这两列火车通过隧道的场景。

#include <stdio.h>
#include <unistd.h>
#include <pthread.h>

pthread_mutex_t m;
void Gao()
{
	sleep(1);
	pthread_mutex_lock(&m);
	printf("高铁通过隧道1000m/100m's=10s\n");
	pthread_mutex_unlock(&m);
}

void Kuai()
{
	pthread_mutex_lock(&m);
	printf("快车通过隧道1000m/50m's=20s\n");
	pthread_mutex_unlock(&m);
}

void* Train(void* arg)
{
	Kuai();
}

int main()
{
	pthread_mutex_init(&m, NULL);
	
	pthread_t id;
	pthread_create(&id, 0, Train, 0);
	pthread_detach(id);

	Gao();
	return 0;
}


二、练习题2

        有一个隧道,长1000m,有一辆高铁,每秒100米,有一辆快车,每秒50m,有一辆慢车每秒25m 要求模拟这两列火车通过隧道的场景,但是要求高铁最先过隧道,快车其次,慢车最后。

#include <stdio.h>
#include <unistd.h>
#include <pthread.h>

pthread_mutex_t g;
pthread_mutex_t k;
pthread_mutex_t m;

void task_main()
{
	while(1)
	{	
		pthread_mutex_lock(&g);
		printf("高铁通过隧道\n");
		sleep(1);
		pthread_mutex_unlock(&k);
	}
}

void task1()
{
	while(1)
	{	
		pthread_mutex_lock(&k);
		printf("快车通过隧道\n");
		sleep(1);
		pthread_mutex_unlock(&m);
	}
}

void task2()
{
	while(1)
	{
		pthread_mutex_lock(&m);
		printf("慢车通过隧道\n");
		sleep(1);
		pthread_mutex_unlock(&g);
	}
}

void* thread_main1(void* arg)
{
	task1();
}

void* thread_main2(void* arg)
{
	task2();
}

int main()
{
	pthread_mutex_init(&g, NULL);
	pthread_mutex_init(&k, NULL);
	pthread_mutex_init(&m, NULL);
	pthread_mutex_lock(&k);
	pthread_mutex_lock(&m);

	pthread_t id;
	pthread_create(&id, 0, thread_main1, 0);
	pthread_detach(id);

	pthread_t id2;
	pthread_create(&id2, 0, thread_main2, 0);
	pthread_detach(id2);

	task_main();
	return 0;
}


三、练习题3

        使用条件变量实现一个生产者消费者模型(pv)模型

        生产者线程:每秒生成2个苹果

        消费者线程:每3秒消费 5~9个苹果

        要求:消费者在消费之前一定要有足够的苹果给消费。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <pthread.h>

int apple = 0;
int buy_apple = 0;
pthread_mutex_t mutex;
pthread_cond_t cond;

void producer_task() //生产者
{
	while(1){
		pthread_mutex_lock(&mutex);
		apple += 2;
		printf("当前苹果库存:%d\n", apple);
	
		if(apple >= buy_apple){
			printf("唤醒消费者\n");
			pthread_cond_signal(&cond);
		}
		pthread_mutex_unlock(&mutex);
		sleep(1);
	}
}

void consumer_task() //消费者
{
	while(1){
		pthread_mutex_lock(&mutex);
		//确定本次消费数量
		buy_apple = rand() % 5 + 5;
		printf("本次要消费%d个苹果\n", buy_apple);
		//为了保证每次apple>=buy_apple所以消费者需要等待,生产者通知消费者苹果数量足够消费
		pthread_cond_wait(&cond, &mutex);
		apple -= buy_apple;
		printf("当前剩余苹果数量为:%d\n", apple);

		pthread_mutex_unlock(&mutex);
		sleep(3);
	}
}

void* thread_main(void* arg)
{
	consumer_task();
}

int main()
{
	srand(time(0));
	pthread_mutex_init(&mutex, NULL);
	pthread_cond_init(&cond, NULL);

	pthread_t id;
	pthread_create(&id, NULL, thread_main, NULL);
	pthread_detach(id);

	producer_task();
	return 0;
}



选课系统进不去?我用 Python 做了个“捡漏挂机”脚本,全自动监控空余名额 频率控制:脚本请求频率不要太高(建议间隔 3-5 秒以上),否则可能被教务系统封 IP,甚至会被教务处请喝茶。仅供学习:本文旨在通过选课场景教学requests和网络抓包原理,请勿用于非法用途或破坏公平性。刷新页面 -> 等待加载 -> 用眼睛看人数 -> 没满?-> 点击选课 -> 确认这个流程最大的瓶颈在于**“等待加载”和“人的反应时间”**。网页加载需要渲染 HTML、CSS、图片,而 Python 脚本只需要请求一个微小的 JSON 数据接口,速度是浏览器的10 倍以上。fill:#333; 阅读详情

相关推荐

S32DS IDE调试技巧:如何用条件断点精准捕获汽车电子MCU的硬件状态变化

本文详细介绍了S32DS IDE中条件断点功能在汽车电子MCU开发中的应用技巧。通过精准捕获硬件状态变化,工程师可以高效调试外设寄存器异常、时序敏感型交互等复杂场景,大幅提升汽车电子系统的开发效率。文章还提供了多种实战案例和性能优化建议,帮助开发者充分利用S32DS的调试功能。

CAT789的专栏 207

IO进程day6作业

思维导图。

2303_81821851的博客 147

如何设计一个低代码平台

近些年来,低代码发展火热,各种低代码平台如雨后春笋纷纷崛起,这些平台各定位不同,优劣不同,用户的选择空间很大。那么,如果用户想从零开始设计一个低代码平台,该如何做呢?

Jarod_Chou的博客 8257

25.8.7 IO进程线程day6作业

一、思维导图二、牛客网。

2301_78174498的博客 131

从零开始:用7353张VOC/YOLO格式混凝土缺陷数据集训练你的第一个检测模型

本文详细介绍了如何使用7353张VOC/YOLO格式的混凝土缺陷数据集训练首个目标检测模型。从环境配置、数据解析到YOLOv5模型训练与优化,提供了完整的实战指南,特别针对数据不平衡问题给出了解决方案,助力开发者快速掌握混凝土缺陷识别技术。

weixin_42651281的博客 255

SAP 实施:Waterfall vs. Agile —— 一场“结构性矛盾“的深刻比较先说结论:在 SAP 世界里,这从来不是“谁更好“的宗教问题,而是“你的项目 DNA 是什么“的战略选择。​

SAP 实施:Waterfall vs. Agile —— 一场"结构性矛盾"的深刻比较 先说结论:在 SAP 世界里,这从来不是"谁更好"的宗教问题,而是"你的项目 DNA 是什么"的战略选择。​ SAP 早已用 SAP Activate​ 给出了官方态度——它不是纯 Agile,也不是回头去搞旧 Waterfall,而是一个带质量门的混合架构。 1. 先回到本质:两者解决的是不同维度的风险 维度 Waterfall(传统 ASAP 路线)​ Agile(SCRUM/Kanban 式迭代)​

金牌架构师 336

IO进程线程day6

8> 将无名信号量实现生产者消费者程序重新实现一遍。9> 将条件变量实现生产者消费者程序重新实现一遍。1> 使用有名管道,完成两个进程的相互通信。2> 使用无名管道完成父子进程间的通信。3> 使用标准IO完成两个文件的拷贝。4> 使用文件IO实现两个文件的拷贝。5> 使用多进程完成两个文件的拷贝。6> 使用多线程完成两个文件的拷贝。7> 将互斥锁的案例重新写一遍。

xuesama的博客 1362

项目管理 Agent:进度追踪与风险预警 Harness

我们先从LangChain的Agent定义说起:Agent是一个能感知环境、自主决策、调用工具、执行动作、迭代反思的智能实体。而「项目管理全自主Agent」,就是把Agent的核心能力和项目管理的五大过程组(启动、规划、执行、监控、收尾)深度结合,聚焦执行监控阶段的两个核心痛点:进度偏差自动化计算、风险信号自动化识别与预警的专门化Agent。全感知(Omnisensing):能从。

AI架构师小马 515

IO进程_day6

进程间通信 IPC/进程间通信方式/无名管道/有名管道/有名管道和无名管道的区别/进程间信号/进程间信号的响应方式/信号种类/函数接口/信号发送和挂起/定时器/信号处理函数signal()

weixin_63791423的博客 1086

用 XCO_CP_XLSX 在 ABAP 中写 Excel:从写入访问到样式控制的完整指南

本文介绍了在 ABAP 环境中使用 XCO_CP_XLSX 模块导出 Excel 报表的完整实践方案。文章从获取写入访问权限开始,详细讲解了基于 row_stream 的批量数据写入和基于 cursor 的精细控制两种方法,并提供了创建新文档、添加工作表、设置样式等关键操作示例。通过分层抽象的工作簿-工作表-单元格模型,开发者可以灵活应对企业应用中常见的报表导出需求,特别是在 SAP BTP 和 S/4HANA Cloud 环境下实现高效可靠的 Excel 文件生成与处理。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 163

Qt基础之十九:进程与QProcess

进程就是一个程序的执行实例,也就是正在运行的程序。对操作系统来说,进程就是一个担当分配系统资源CPU时间、内存的实体。在Qt 中,我们使用QProcess来表示一个进程。这个类可以允许我们的应用程序启动一个新的外部程序,并且与这个程序进行通讯。当外部程序开始启动时,QProcess的状态为Starting;外部程序已经启动时,QProcess的状态为Running,并发送started()信号;当外部层序退出了,QProcess的状态为NotRunning(初始状态),并发送finished()信号。

草上爬的博客 1万+

day 6 IO进程线程

8> 将无名信号量实现生产者消费者程序重新实现一遍。9> 将条件变量实现生产者消费者程序重新实现一遍。1> 使用有名管道,完成两个进程的相互通信。2> 使用无名管道完成父子进程间的通信。3> 使用标准IO完成两个文件的拷贝。4> 使用文件IO实现两个文件的拷贝。5> 使用多进程完成两个文件的拷贝。6> 使用多线程完成两个文件的拷贝。7> 将互斥锁的案例重新写一遍。

fj199121的博客 507

【AUTOSAR AP PHM 】PHM 标准化“检查点上报接口”落地指南(AUTOSAR AP · R24-11取向)

本文介绍了AUTOSAR AP R24-11标准下PHM(平台健康管理)模块中"检查点上报接口"的标准化实现方案。主要内容包括: 核心设计理念:采用"配置优先"原则,通过部署模型预先定义监管参数,应用进程只需简单上报枚举标识,具体判定由PHM执行。 职责划分: 应用进程:仅调用ReportCheckpoint接口上报枚举值 PHM:负责Alive计数、Deadline区间判定和Logical路径校验 EM/IdsM:提供进程状态和越权检测 三类监管机制: Alive:

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 220

IO进程Day6

使用有名管道,完成两个进程的相互通信使用无名管道完成父子进程间的通信使用标准IO完成两个文件的拷贝 使用文件IO实现两个文件的拷贝使用多进程完成两个文件的拷贝 使用多线程完成两个文件的拷贝 将互斥锁的案例重新写一遍将无名信号量实现生产者消费者程序重新实现一遍将条件变量实现生产者消费者程序重新实现一遍

smile_Wx1的博客 163

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

io进程day6

weixin_74187961的博客 106

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IO进程-day6

2201_75891777的博客 106

IO进程线程 day6

文件1:父进程读取管道2数据,子进程写入管道1数据。文件1:父进程读取管道1数据,子进程写入管道2数据。

fj199121的博客 424

IO线程进程作业day6

3、使用SIGGHLD信号回收僵尸进程,当子进程退出后,子进程会向父进程发送一个SIGCHLD信号,表示子进程的退出。4> 使用消息队列完成两个进程间相互通信。1> 将标准io文件IO的内容复习一遍。3> 将信号和消息队列的课堂代码敲一遍。2、 尝试捕获或忽略SIGKILL信号。6、 消息队列两个进程间的单向通信。2> 进程线程的相关函数复习一遍。4、模拟斗地主出牌的案例。5、验证发送信号函数。

m0_74384179的博客 586

IO进程线程Day6

1> 使用有名管道完成两个进程之间相互通信。

weixin_45585727的博客 392

23111 IO进程线程 day6

【代码】23111 IO进程线程 day6。

z2606200330的博客 719

IO进程线程 day6 work

1.标准I0函数时候讲解的时钟代码,要求输入quit字符串后, 结束进程。 2.要求定义一个全局变量char buf[] = "1234567",创建两个线程,不考虑退出条件。a. A线程循环打印buf字符串;b. B线程循环倒置buf字符串,即buf中本来存储1234567,倒置后buf中存储7654321,不打印!c.倒置不允许使用辅助数组;d.要求A线程打印出来的结果只能为1234567或者7654321 不允许出现7634521 7234567;e.不允许使用sleep函数。

qq_45418048的博客 217
上一篇: IO进程:day5
下一篇: IO进程 寒假作业
碧莲不摇了
博客等级 码龄2年 208粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值