Semaphore 信号量小解

本文通过一个简单的Java示例介绍了如何使用Semaphore来限制同时访问某个资源的线程数量。Semaphore是一种用于控制对共享资源访问次数的同步工具,类似于synchronized和Lock,但提供了更灵活的控制方式。

Semaphore :和synchronized 、lock有点像,限制线程数量访问临街资源。

附上demo

public class TestClass {

    public static void main(String[] args) {

         Semaphore semaphore = new Semaphore(5);

        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();
        new Thread(new SemaphoreClass(semaphore)).start();

    }
}


class SemaphoreClass implements Runnable {
    private Semaphore semaphore ;

    SemaphoreClass(Semaphore semaphore){
        this.semaphore = semaphore;
    }

    @Override
    public void run() {

        try {
            System.out.println(Thread.currentThread().getName()+"--等待授权--");
            Thread.sleep(2000);
            semaphore.acquire();
            System.out.println(Thread.currentThread().getName()+"--已经授权--");
            Thread.sleep(2000);
            System.out.println(Thread.currentThread().getName()+"--处理事情--");
            Thread.sleep(2000);
            System.out.println(Thread.currentThread().getName()+"--处理完了--");
            System.out.println(Thread.currentThread().getName()+"--释放资源--");
            semaphore.release();
            System.out.println(Thread.currentThread().getName()+"--资源已经释放--");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}


内容概要:本文针对传统三电平并网逆变器在谐波抑制、电网不平衡适应性及动态响应方面的不足,提出一种基于有源中点箝位(ANPC)三电平拓扑的高性能并网控制策略。该策略深度融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相技术与电网电压前馈控制,构建了“精准同步—扰动补偿—优质调制”三位一体的一体化控制体系。依托ANPC拓扑在开关损耗均衡、中点电位稳定和低谐波输出方面的硬件优势,结合DPWMA调制提升等效开关频率、正负序分离实现不平衡电网下的精确锁相、前馈控制克服闭环滞后等先进控制手段,显著改善了系统的稳态电能质量、动态响应速度与复杂工况适应能力。通过多工况仿真验证,该复合策略在稳态运行时可大幅降低总谐波畸变率,在电网不平衡与动态扰动工况下仍能维持并网电流对称、功率平稳及快速恢复能力,展现出优异的综合性能与工程应用潜力。; 适合人群:具备电力电子与电力系统基础知识,从事新能源并网、逆变器控制、微电网或相关领域研究的研发人员及研究生。; 使用场景及目标:① 提升高功率并网逆变器的电能质量与运行稳定性;② 解决电网电压不平衡、畸变等复杂工况下的并网难题;③ 优化动态响应性能,提升系统抗扰能力;④ 为ANPC拓扑与先进控制策略的工程化应用提供技术参考。; 阅读建议:建议结合仿真模型深入理解DPWMA调制、正负序分离锁相与前馈控制的实现细节,重点关注多工况下的性能对比分析,以掌握复合控制策略的设计逻辑与优化效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值