zoukankan      html  css  js  c++  java
  • java concurrent并发包使用

    package cn.com.zxf.atomic;
    
    import java.util.concurrent.atomic.AtomicInteger;
    
    public class AtomicExample implements Runnable{
    
        private AtomicInteger atomicInteger;
    
        private int index;
    
        public  AtomicExample(AtomicInteger atomicInteger, int index){
    
            this.atomicInteger=atomicInteger;
    
            this.index = index;
        }
    
    
        @Override
        public void run() {
    
            System.out.println("当前线程名称:"+Thread.currentThread().getName());
    
            atomicInteger.addAndGet(index);
    
        }
    }
    package cn.com.zxf.atomic;

    import java.util.concurrent.*;
    import java.util.concurrent.atomic.AtomicInteger;
    import java.util.concurrent.locks.Lock;
    import java.util.concurrent.locks.ReentrantLock;

    public class AtomicExampleTest {


    //线程池
    private static ExecutorService executorService = Executors.newFixedThreadPool(10);



    public static void main(String[] args) throws Exception {
    //拦珊 使用
    CountDownLatch countDownLatch = new CountDownLatch(100);
    //信号量
    Semaphore semaphore = new Semaphore(3);
    //atomic 包使用 底层是基于CAS 并发编程
    final AtomicInteger atomicInteger = new AtomicInteger();
    //java 提供的锁
    Lock lock = new ReentrantLock();
    //队列
    LinkedBlockingDeque linkedBlockingDeque = new LinkedBlockingDeque();
    for(int i = 0 ;i<100; i++){
    Thread.sleep(1000);
    semaphore.acquire();
    executorService.execute(new AtomicExample(atomicInteger,1));
    semaphore.release();

    Thread.sleep(1000);
    countDownLatch.countDown();
    }

    countDownLatch.await();

    executorService.shutdown();
    System.out.println("计算值:"+atomicInteger.get());
    }
    }
    concurrent 使用
  • 相关阅读:
    centos npm run build 报错
    python base64
    Emacs 常用命令
    linux 删除文件腾出空间 遇到的问题
    网速查看工具
    linux 查看当前文件夹下的文件大小
    Docker 私有仓库push
    Harbor:Http: server gave HTTP response to HTTPS client & Get https://192.168.2.119/v2/
    docker 私有仓库搭建
    linux 修改时间
  • 原文地址:https://www.cnblogs.com/zxf330301/p/10958957.html
Copyright © 2011-2022 走看看