生产者-消费者 领导者-追随者 半同步-半异步

本文介绍了三种经典的多线程模型:生产者-消费者模型、领导者-追随者模型及半同步-半异步模型。通过生动的例子解释了各模型的工作原理,并探讨了它们在实际应用中的考量。

转载自:http://blog.youkuaiyun.com/henuyx/article/details/39458215

都是概念问题,实现并不是什么难事,网上示例一搜一大堆。


一、

生产者-消费者模型
http://baike.baidu.com/view/10800629.htm?fr=aladdin
生产者消费者问题(英语:Producer-consumer problem),
也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。

该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据。

问题升级:多个生产者-多个消费者

二、
领导者-追随者模型
http://www.cppblog.com/liangairan/articles/62917.html?opt=admin

打比方:
1. 话说一个地方有一群有组织无纪律的人从事山贼这个很有前途的职业。
2. 一般就是有一个山贼在山路口察看,其他人在林子里面睡觉。
3. 假如发现有落单的过往客商,望风的山贼就会弄醒一个睡觉的山贼,然后自己去打劫。
4. 醒来的山贼接替作望风的事情。
5. 打劫的山贼搞定以后,就会去睡觉,直到被其他望风的山贼叫醒来望风为止。
6. 有时候过往客商太多,而山贼数量不够,有些客商就能侥幸平安通过山岭(所有山贼都去打劫其他客商了)。

计算机版本
1. 有若干个线程(一般组成线程池)用来处理大量的事件
2. 有一个线程作为领导者,等待事件的发生;其他的线程作为追随者,仅仅是睡眠。
3. 假如有事件需要处理,领导者会从追随者中指定一个新的领导者,自己去处理事件。
4. 唤醒的追随者作为新的领导者等待事件的发生。
5. 处理事件的线程处理完毕以后,就会成为追随者的一员,直到被唤醒成为领导者。
6. 假如需要处理的事件太多,而线程数量不够(能够动态创建线程处理另当别论),则有的事件可能会得不到处理。

三、
半同步-半异步模型
http://www.cppblog.com/liangairan/articles/62917.html?opt=admin
1. 话说一个地方有一群有组织无纪律的人从事山贼这个很有前途的职业。
2. 他们有一个山贼头头,他专门负责望风,其他的喽罗待命。
3. 假如发现有落单的过往客商,山贼头头会到路口拦路,让客商双手抱头蹲在地上,然后让一个小喽罗为这个倒霉鬼"服务"。
4. 假如客商很多,山贼头头会让客商在地上蹲成一排(严肃点,排队啦,打劫啦)。 一群小喽罗挨个为大家"服务"。
5. 头头的工作很重要,对于每个客商他都不会花费太多时间,拦路以后,他会让客商排队等待打劫。
6. 过往客商太多而山贼数量不够,客商的排队可能需要等待较长的时间。
内容概要:本文档介绍了基于3D FDTD(时域有限差分)方法在MATLAB平台上对微带线馈电的矩形天线进行仿真分析的技术方案,重点在于模拟超MATLAB基于3D FDTD的微带线馈矩形天线分析[用于模拟超宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]宽带脉冲信号通过天线结构的传播过程,并计算微带结构的回波损耗参数(S11),以评估天线的匹配性能和辐射特性。该方法通过建立三维电磁场模型,精确求解麦克斯韦方程组,适用于高频电磁仿真,能够有效分析天线在宽频带内的响应特性。文档还提及该资源属于一个涵盖多个科研方向的综合性MATLAB仿真资源包,涉及通信、信号处理、电力系统、机器学习等多个领域。; 适合人群:具备电磁场与微波技术基础知识,熟悉MATLAB编程及数值仿真的高校研究生、科研人员及通信工程领域技术人员。; 使用场景及目标:① 掌握3D FDTD方法在天线仿真中的具体实现流程;② 分析微带天线的回波损耗特性,优化天线设计参数以提升宽带匹配性能;③ 学习复杂电磁问题的数值建模与仿真技巧,拓展在射频与无线通信领域的研究能力。; 阅读建议:建议读者结合电磁理论基础,仔细理解FDTD算法的离散化过程和边界条件设置,运行并调试提供的MATLAB代码,通过调整天线几何尺寸和材料参数观察回波损耗曲线的变化,从而深入掌握仿真原理与工程应用方法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值