博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高并发限流处理
阅读量:5901 次
发布时间:2019-06-19

本文共 1492 字,大约阅读时间需要 4 分钟。

hot3.png

1  高并发限流处理 这样会不会有问题?请大侠指点!

public class LimitProcessTest {    //最大处理条数    static int maxLine = 10;    // 当前处理条数    static int line = 0;        public synchronized int getToken() {        if(line > maxLine){            return -1;        }        return line++;    }        public synchronized int giveUpToken() {        return line--;    }        public static void main(String[] args) throws InterruptedException {        LimitProcessTest lpt = new LimitProcessTest();        for (int i = 0; i <500; i++) {             Thread.sleep(25);             new Thread(lpt.new Process(lpt, i)).start();        }    }        public class Process implements Runnable{            private LimitProcessTest lpt;        private int index ;                Process(LimitProcessTest lpt1,int i){            this.lpt=lpt1;            this.index=i;        }                @Override        public void run() {            try {                int token = lpt.getToken();                if(token==-1){                    System.out.println("第 "+index+" 个人访问发现很多人,等下来...");                    return;                }else{                    System.out.println("第 "+index+" 个人访问, 当前处理人数  "+token);                }                Thread.sleep(753);                System.out.println("第 "+index+" 个人访问");            } catch (InterruptedException e) {                                }finally{			  System.out.println("当前处理人数: "+lpt.giveUpToken());		     }        }    }}

2

 

 

转载于:https://my.oschina.net/xwl1990/blog/794741

你可能感兴趣的文章
Cox 教学视频5
查看>>
Jenkins持续集成学习-搭建jenkins问题汇总
查看>>
使用ffmpeg实现对h264视频解码 -- (实现了一个易于使用的c++封装库)
查看>>
flink watermark介绍
查看>>
[Flink原理介绍第四篇】:Flink的Checkpoint和Savepoint介绍
查看>>
Android Xutils 框架
查看>>
C#基础知识整理 基础知识(21) 委托(二)
查看>>
Android应用程序键盘(Keyboard)消息处理机制分析(16)
查看>>
Sysbench 0.5版安装配置
查看>>
统一沟通-技巧-11-Lync-联盟-无法-音频-远程桌面-传文件
查看>>
书摘—你不可不知的心理策略
查看>>
【博客话题】毕业——开始人生的艰苦历程
查看>>
2014.7.30-8.3日广大网友的提问解答(答问题的第2个工作周)
查看>>
Powershell管理系列(二十五)PowerShell操作之获取AD账号及邮箱信息
查看>>
Linux安装telnet
查看>>
【高德地图API】从零开始学高德JS API(三)覆盖物——标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物...
查看>>
openstack nova修改实例路径,虚拟磁盘路径
查看>>
java.sql.SQLException: Lock wait timeout exceeded --转
查看>>
使用C#进行图像处理的几种方法(转)
查看>>
Ajax原理学习
查看>>