并发


上学的时候我们经常会去图书馆借书,这个我印象比较深刻(本来想举买火车票的例子)。图书馆里,有一本书叫《JAVA并发编程实战》,小A早上的时候把这本书借走了,小B中午的时候去图书馆找这本书,这里小A和小B分别是两个线程,他们都要看的书是共享资源。
1.通过共享资源通信
小B去了图书馆,发现这本书被借走了(执行了例子中的hasDataToProcess)。他回到家,等了几天,再去图书馆找这本书,发现这本书已经被还回,他顺利借走了书。
2.忙等待
其实小B在小A走后一会就把书还回去了,小A却在几天后才去找的书。为了早点借到书(减少延迟),小A可能就在图书馆等着,每隔几分钟(while循环)他就去检查这本书有没有被还回,这样只要小B一还回书,小A马上就会知道。
3.wait(),notify()和notifyAll()
很多次后,小A发现自己这样做太累了,身体有点吃不消。不过很快,学校图书馆系统改进,加入了短信通知功能(notify()),只要小B一还回书,立马会短信通知小A,这样小A就可以在家睡觉等短信了。
4.丢失的信号
学校图书馆系统是这么设计的:当一本书被还回来的时候,会给等待者发送短信,并且只会发一次,如果没有等待者,他也会发(只不过没有接收者)。问题出现了,因为短信只会发一次,当书被还回来的时候,没有人等待借书,他会发一条空短信,但是之后有等待借此本书的同学永远也不会再收到短信,导致这些同学会无休止的等待。为了避免这个问题,我们在等待的时候先打个电话问问图书馆管理员是否继续等待(if(!wasSignalled))。
5.假唤醒
图书馆系统还有一个BUG:系统会偶尔给你发条错误短信,说书可以借了(其实书不可以借)。我们之前已经给图书馆管理员打过电话了,他说让我们等短信。我们很听话,一等到短信(其实是bug引起的错误短信),就去借书了,到了图书馆后发现这书根本就没还回来!我们很郁闷,但也没办法啊,学校不修复BUG,我们得聪明点:每次在收到短信后,再打电话问问书到底能不能借(while(!wasSignalled))。

基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究(Matlab代码实现)内容概要:本文围绕“基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究”,介绍了利用Matlab代码实现配电网可靠性的仿真分析方法。重点采用序贯蒙特卡洛模拟法对配电网进行长时间段的状态抽样与统计,通过模拟系统元件的故障与修复过程,评估配电网的关键可靠性指标,如系统停电频率、停电持续时间、负荷点可靠性等。该方法能够有效处理复杂网络结构与设备时序特性,提升评估精度,适用于含分布式电源、电动汽车等新型负荷接入的现代配电网。文中提供了完整的Matlab实现代码与案例分析,便于复现和扩展应用。; 适合人群:具备电力系统基础知识和Matlab编程能力的高校研究生、科研人员及电力行业技术人员,尤其适合从事配电网规划、运行与可靠性分析相关工作的人员; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在电力系统可靠性评估中的基本原理与实现流程;②学习如何通过Matlab构建配电网仿真模型并进行状态转移模拟;③应用于含新能源接入的复杂配电网可靠性定量评估与优化设计; 阅读建议:建议结合文中提供的Matlab代码逐段调试运行,理解状态抽样、故障判断、修复逻辑及指标统计的具体实现方式,同时可扩展至不同网络结构或加入更多不确定性因素进行深化研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值