国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java基础 > java使用Semaphore实现限流器

java使用Semaphore实现限流器

java Semaphore

头像

小妮浅浅

2021-07-12 09:55:043205浏览 · 0收藏 · 0评论

概念

1、Semaphore可以看作是已经被广泛地翻译成信号量,从概念上讲,信号量保持了一组凭证,获得凭证的线程可以访问资源,使用完成后释放,我们可以使用信号量来限制访问特定资源的并发线程。

2、可以简单概括为:一个计数器,一个等待队列,三种方法。在信号量模型中,计数器和等待队列是透明的,只能通过信号量模型提供的三种方式访问,即互联网、acquire和release。

实例

public class SemaphoreDemo {
 
    static class Link {
    }
 
    static class ObjPool<T, R> {
 
        final List<T> pool;
 
        final Semaphore semaphore;
 
        ObjPool(int size, T t) {
            pool = new Vector<>(size);
            for (int i = 0; i < size; i++) {
                pool.add(t);
            }
            semaphore = new Semaphore(size);
        }
 
        public R exec(Function<T, R> func) throws Exception {
            T t = null;
            semaphore.acquire();
            try {
                System.out.println(Thread.currentThread().getName() + "---------争夺锁--------");
 
                t = pool.remove(0);
                System.out.println(Thread.currentThread().getName() + " 拿到锁执行");
                return func.apply(t);
            } finally {
                pool.add(t);
                semaphore.release();
            }
        }
    }
 
    public static void main(String[] args) {
        ObjPool objPool = new ObjPool(5, new Link());
        for (int i = 0; i < 30; i++) {
            new Thread(() -> {
                try {
                    objPool.exec(t -> t.toString());
                } catch (Exception e) {
                }
            }).start();
        }
    }
}

以上就是java使用Semaphore实现限流器的方法,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

美国暴躁真人CSGO| MV在线观看免费播放历史| 杨贵妃(台湾绝版)| 老阿姨高清在线观看电视剧法游戏| 《别告诉我丈夫》播放| 成全二人世界免费观看电视剧| 初中小姐姐脚丫踩在男生困困 | 摸摸大扔子是讽刺人还是夸人 | 《女教师的味道3》在线观看| 美国伦理性淫梦| 公交车上双乳被老汉揉搓玩下载| 女儿借爸爸种生孩子| 色翁荡熄300篇| 黄金网站9.1免费入口| YSL千人千色T9T9T9T9...| 《互换人妻HD中字》| 坤坤寒入桃子里电视剧| 两人世界高清完整版免费观看| 国产69精品久久久久久A片| 儿子控制不住对妈妈发脾气怎么办| 一阴吞两阳与MACD的关系. | 一边做饭一边狂躁的原因分析| 我的小后妈中字ID| 母与子免费观看大全电视剧邻居大..| 儿子双飞妈妈和女儿的小说| 肉丸子影院免费观看电视剧| 欧美电影免费观看电视剧大全| 《酒店激战》动漫1-5集免费观.| 狗配人的大片| 女生把球球给男生抓的视频| 两个老头把我添高潮了| 4444444在线观看免费高清...| 天美麻花星空影视免费观看电视剧| 意大利人妻伦换| 韩国吻戏视频| 无人区与二线无人区的区别| 真爱禁区| 撸撸社| 黄金网站9.1免费入口| 第1章品尝朋友娇妻| 疯狂二人房间荷尔蒙爆发原声