• 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 使用
  • 相关阅读:
    git命令的使用
    动态生成表格的每一行的操作按钮如何获取当前行的index
    js判断一些时间范围是否有重复时间段
    infiniband install driver
    python之pip install
    KVM :vnc 远程控制kvm创建虚拟机
    如何设置UNIX/Linux中新创建目录或文件的默认权限
    python获取报文参考代码
    JAVA命名规范
    oracle常用知识随笔
  • 原文地址:https://www.cnblogs.com/zxf330301/p/10958957.html
Copyright © 2020-2023  润新知