当前位置: 首页 > news >正文

网站建设结构设计网站建设中忽略的字体违法行为

网站建设结构设计,网站建设中忽略的字体违法行为,企业网站管理系统登陆,小地方的旅游网站怎么做目录 一、是什么?二、简单使用三、semaphore应用四、Semaphore原理 一、是什么? Semaphore:信号量,用来限制能同时访问共享资源的线程上限 二、简单使用 public class TestSemaphore {public static void main(String[] args) …

目录

      • 一、是什么?
      • 二、简单使用
      • 三、semaphore应用
      • 四、Semaphore原理

一、是什么?

Semaphore:信号量,用来限制能同时访问共享资源的线程上限

二、简单使用

public class TestSemaphore {public static void main(String[] args) {// 1. 创建 semaphore 对象Semaphore semaphore = new Semaphore(3);// 2. 10个线程同时运行for (int i = 0; i < 10; i++) {new Thread(() -> {try {semaphore.acquire();} catch (InterruptedException e) {e.printStackTrace();}try {log.debug("running...");sleep(1);log.debug("end...");} finally {semaphore.release();}}).start();}}
}

结果:始终只有三个线程处于正在运行的状态
在这里插入图片描述


三、semaphore应用

  • 使用semaphore限流,在访问高峰期时,让请求线程阻塞。当然它只适合限制单机线程数量,并且是仅限制线程数,而不是限制资源数(例如连接数)
  • 使用Semaphore实现简单连接池,对比享元模式下的实现(用wait和notify),性能和可读性要更好
class Pool {// 1. 连接池大小private final int poolSize;// 2. 连接对象数组private Connection[] connections;// 3. 连接状态数组 0 表示空闲, 1 表示繁忙private AtomicIntegerArray states;private Semaphore semaphore;// 4. 构造方法初始化public Pool(int poolSize) {this.poolSize = poolSize;// 让许可数与资源数一致this.semaphore = new Semaphore(poolSize);this.connections = new Connection[poolSize];this.states = new AtomicIntegerArray(new int[poolSize]);for (int i = 0; i < poolSize; i++) {connections[i] = new MockConnection("连接" + (i+1));}}// 5. 借连接public Connection borrow() {// t1, t2, t3// 获取许可try {semaphore.acquire(); // 没有许可的线程,在此等待} catch (InterruptedException e) {e.printStackTrace();}for (int i = 0; i < poolSize; i++) {// 获取空闲连接if(states.get(i) == 0) {if (states.compareAndSet(i, 0, 1)) {log.debug("borrow {}", connections[i]);return connections[i];}}}// 不会执行到这里return null;}// 6. 归还连接public void free(Connection conn) {for (int i = 0; i < poolSize; i++) {if (connections[i] == conn) {states.set(i, 0);log.debug("free {}", conn);semaphore.release();break;}}}
}

四、Semaphore原理

在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/995922/

相关文章:

  • 仿站在线工具付费网站怎么做
  • 网站会员注册系统做一个美食网站怎么做
  • 网站策划培训宁夏省住房城乡建设厅网站
  • u盘做网站深圳房产网
  • 空间链接制作网站网站想改版 权重
  • 站长工具最近查询网站项目建设的必要性
  • 南靖县建设局网站东莞信息网
  • 版面设计素材网站做网站怎样申请域名
  • 还有哪些方法让网站更加利于seo兰州网站seo优化
  • 车之家汽车官网企业网站代码怎么优化
  • 网站建设方案销售长尾关键词
  • 建设网站会员登陆杭州比较好的软装设计公司
  • 小米手机网站建设总结网站建设销售是做什么的
  • 网站开发android客户端分销系统开发多少钱
  • 商务局网站群建设方案自助建站系统源码
  • 农村自建房设计图一层平房网站做seo推广方案
  • 济南网站自然优化广州市公司网站建设价格
  • 上海市建设工程 安全质量网站公司基本资料模板
  • 如何做宣传自己公司网站比较有名的网站建设平台
  • 如何安装wordpress主题seo运营是什么意思
  • 免费网站优化怎么做网页链接怎么打开
  • 网络公司名字大全集搜索引擎优化的基本原理
  • 泰州市统计局网站建设方案安徽六安市地图位置
  • 上虞宇普电器网站建设网站更新后 为什么不显示
  • 智能网站平台百度营销搜索推广
  • 采集文章留在网站自己建设网站服务器
  • 装饰工程 技术支持 东莞网站建设wordpress点击插件
  • 淘宝客网站如何做排名学院网站建设管理
  • 公司网站首页模板广州海珠区网站建设
  • 姑苏区建设局网站wordpress 批量导入用户