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

南京网站设计开发公司网站后台如何上传视频

南京网站设计开发,公司网站后台如何上传视频,网站制作案例流程图,知识库管理系统软件1 CountDownLatch#xff08;线程计数器 #xff09; CountDownLatch类位于java.util.concurrent 包下#xff0c;利用它可以实现类似计数器的功能。比如有一个任务 A#xff0c;它要等待其他 4 个任务执行完毕之后才能执行#xff0c;此时就可以利用 CountDownLatch 来实…1 CountDownLatch线程计数器 CountDownLatch类位于java.util.concurrent 包下利用它可以实现类似计数器的功能。比如有一个任务 A它要等待其他 4 个任务执行完毕之后才能执行此时就可以利用 CountDownLatch 来实现这种功能了。 2 CyclicBarrier回环栅栏-等待至 barrier 状态再全部同时执行 字面意思回环栅栏通过它可以实现让一组线程等待至某个状态之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后CyclicBarrier 可以被重用。我们暂且把这个状态就叫做 barrier当调用 await()方法之后线程就处于 barrier 了。CyclicBarrier 中最重要的方法就是 await 方法它有 2 个重载版本 1public int await()用来挂起当前线程直至所有线程都到达 barrier 状态再同时执行后续任务public int await(long timeout, TimeUnit unit)让这些线程等待至一定的时间如果还有线程没有到达 barrier 状态就直接让到达 barrier 的线程执行后续任务。 具体使用如下另外 CyclicBarrier 是可以重用的。 3 Semaphore信号量-控制同时访问的线程个数 Semaphore 翻译成字面意思为 信号量Semaphore 可以控制同时访问的线程个数通过 acquire() 获取一个许可如果没有就等待而 release() 释放一个许可。Semaphore 类中比较重要的几个方法 1. public void acquire(): 用来获取一个许可若无许可能够获得则会一直等待直到获得许 可。 2. public void acquire(int permits):获取 permits 个许可 3. public void release() { } :释放许可。注意在释放许可之前必须先获获得许可。 4. public void release(int permits) { }:释放 permits 个许可上面 4 个方法都会被阻塞如果想立即得到执行结果可以使用下面几个方法 1. public boolean tryAcquire():尝试获取一个许可若获取成功则立即返回 true若获取失 败则立即返回 false 2. public boolean tryAcquire(long timeout, TimeUnit unit):尝试获取一个许可若在指定的 时间内获取成功则立即返回 true否则则立即返回 false 3. public boolean tryAcquire(int permits):尝试获取 permits 个许可若获取成功则立即返 回 true若获取失败则立即返回 false 4. public boolean tryAcquire(int permits, long timeout, TimeUnit unit): 尝试获取 permits 个许可若在指定的时间内获取成功则立即返回 true否则则立即返回 false 5. 还可以通过 availablePermits()方法得到可用的许可数目。 例子若一个工厂有5 台机器但是有8个工人一台机器同时只能被一个工人使用只有使用完 了其他工人才能继续使用。那么我们就可以通过 Semaphore 来实现 int N 8; //工人数 Semaphore semaphore new Semaphore(5); //机器数目 for(int i0;iN;i) new Worker(i,semaphore).start(); } static class Worker extends Thread{ private int num; private Semaphore semaphore; public Worker(int num,Semaphore semaphore){ this.num num; this.semaphore semaphore; } Override public void run() { try { semaphore.acquire(); System.out.println(工人this.num占用一个机器在生产...); Thread.sleep(2000); System.out.println(工人this.num释放出机器); semaphore.release(); } catch (InterruptedException e) { e.printStackTrace(); } } CountDownLatch 和 CyclicBarrier 都能够实现线程之间的等待只不过它们侧重点不同CountDownLatch 一般用于某个线程 A 等待若干个其他线程执行完任务之后它才执行而 CyclicBarrier 一般用于一组线程互相等待至某个状态然后这一组线程再同时执行另外CountDownLatch 是不能够重用的而 CyclicBarrier 是可以重用的。Semaphore 其实和锁有点类似它一般用于控制对某组资源的访问权限。 4 volatile 关键字的作用 关键字的作用变量可见性、禁止重排序  Java 语言提供了一种稍弱的同步机制即 volatile 变量用来确保将变量的更新操作通知到其他线程。volatile 变量具备两种特性volatile 变量不会被缓存在寄存器或者对其他处理器不可见的地方因此在读取 volatile 类型的变量时总会返回最新写入的值。变量可见性         其一是保证该变量对所有线程可见这里的可见性指的是当一个线程修改了变量的值那么新的值对于其他线程是可以立即获取的。禁止重排序 volatile 禁止了指令重排。比 sychronized 更轻量级的同步锁 在访问 volatile 变量时不会执行加锁操作因此也就不会使执行线程阻塞因此 volatile 变量是一种比 sychronized 关键字更轻量级的同步机制。volatile 适合这种场景一个变量被多个线程共享线程直接给这个变量赋值。 当对非 volatile 变量进行读写的时候每个线程先从内存拷贝变量到 CPU 缓存中。如果计算机有多个 CPU每个线程可能在不同的 CPU 上被处理这意味着每个线程可以拷贝到不同的 CPUcache 中。而声明变量是 volatile 的JVM 保证了每次读变量都从内存中读跳过 CPU cache这一步。适用场景         值得说明的是对 volatile 变量的单次读/写操作可以保证原子性的如 long 和 double 类型变量但是并不能保证 i这种操作的原子性因为本质上 i是读、写两次操作。在某些场景下可以代替 Synchronized。但是,volatile 的不能完全取代 Synchronized 的位置只有在一些特殊的场景下才能适用 volatile。总的来说必须同时满足下面两个条件才能保证在并发环境的线程安 全 1对变量的写操作不依赖于当前值比如 i或者说是单纯的变量赋值boolean flag true。 2该变量没有包含在具有其他变量的不变式中也就是说不同的 volatile 变量之间不 能互相依赖。只有在状态真正独立于程序内其他内容时才能使用 volatile。
http://www.hkea.cn/news/14486832/

相关文章:

  • 哈尔滨网站建设资海诚聘网站开发
  • 做个人网站怎么赚钱免费做网站
  • 发卡网站怎么做外链代发2分一条
  • 个人做外贸的网站有哪些网页制作模板源代码免费
  • 南宁企业建站系统上海58同城官网
  • 网站开发怎么兼容浏览器陆家网站建设
  • wordpress建站专家wordpress小清新模板
  • 如何做网站内链建立网站涉及到哪些企业
  • 龙岗营销网站建设公司wordpress后台禁止更新
  • 乌鲁瓦提建设管理局网站全球工业设计公司排名
  • 网站开发专业就业指导广西住房与建设厅网站
  • 免费网站空间申请大型网站开发项目书籍
  • 全景网站如何做泉州企业网站建设
  • 婚纱摄影网站设计理念甘肃兰州天气预报15天
  • 如何通过网站标题找网站药剂学教学网站的建设
  • 企业网站的建设意义ppt软件下载免费版
  • 家具企业网站模板网站建设服务哪便宜
  • 在线A视频网站l一级A做爰片龙岗龙城街道网站建设
  • 东莞企业怎么做网站建设vs sql server网站开发
  • 太原制作手机网站wordpress改插件
  • 品牌商城网站制作wordpress 悬停 图片 文字
  • 文山网站建设代理贵阳模板建站定制
  • 如何编写网站建设余姚公司做网站
  • 建设简易电子商务网站流程施工企业的描述
  • 中交上航建设网站WordPress整篇文章登录可见
  • 贵州网站建设费用在线构建网站
  • 程序_做彩票源码网站开发猪八戒网仿照哪个网站做的
  • 网站开发 维护岗位职责做网站的边框
  • 门户网站开发工具软件微博推广技巧
  • 网站建设seo方案wordpress怎么写描述