zoukankan      html  css  js  c++  java
  • 并法包信号量的使用

    https://www.cnblogs.com/amosli/p/3687776.html

    /** 
    * @ClassName: SemaPhoreTest
    * @Description: 线程通信中的"信号灯"
    * @author: amosli
    * @email:hi_amos@outlook.com
    * @date Apr 25, 2014 12:06:22 AM
    */
    public class SemaPhoreTest {
    public static void main(String[] args) {
    ExecutorService threadPool = Executors.newCachedThreadPool();

    final Semaphore semaphore=new Semaphore(3);
    for(int i=0;i<10;i++){
    threadPool.execute(new Runnable() {
    public void run() {
    try {
    semaphore.acquire();//获取一个可用的permits
    } catch (Exception e) {
    e.printStackTrace();
    }
    System.out.println("线程 " + Thread.currentThread().getName()+" 已进入. " + "目前已经有"+(3-semaphore.availablePermits())+" 个线程进入");
    try {
    Thread.sleep(new Random().nextInt(1000));
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    System.out.println("线程 "+Thread.currentThread().getName()+ " 即将离开...");
    semaphore.release();//释放一个线程
    System.out.println("线程 "+Thread.currentThread().getName()+ " 已离开. 当前有"+(3-semaphore.availablePermits())+"并发");
    }
    });
    }
    }
    }
  • 相关阅读:
    渲染你刚刚上传的图片,再进行二次上传
    详情页需要显示图片
    上传图片
    毛利率保留俩位小数
    去除input的前后的空格
    vue下载模板、导出excle
    如何从一个对象里面拿数据
    登录注册
    ajax发送请求的数据类型
    WampServer修改MySQL密码
  • 原文地址:https://www.cnblogs.com/a1304908180/p/13948353.html
Copyright © 2011-2022 走看看