• 一个基于atomic的卖票测试


    package testAtomic;

    import java.util.concurrent.atomic.AtomicInteger;

    import sun.security.krb5.internal.Ticket;

    public class Tictit {
    private AtomicInteger ticitNumber;
    public Tictit (AtomicInteger ticAtomicInteger)
    {
    this.ticitNumber=ticAtomicInteger;
    }
    public AtomicInteger getTicitNumber() {
    return ticitNumber;
    }

    package testAtomic;

    public class MyThread implements Runnable {

    private Tictit tictit=null;
    public MyThread(Tictit tictit)
    {
    this.tictit=tictit;
    }
    public void run() {
    for(int i=0;i<10;i++)
    {
    if(tictit.getTicitNumber().get()>0)
    {
    int a=tictit.getTicitNumber().addAndGet(-1);

    System.out.println("当前线程:"+Thread.currentThread().getName()+" "+a);
    }
    }

    }

    }

    package testAtomic;

    import java.util.concurrent.atomic.AtomicInteger;

    public class MyAotomicTest {
    int number=10;
    public static void main(String []args)
    {
    MyAotomicTest test=new MyAotomicTest();
    Tictit tictit=new Tictit(new AtomicInteger(100));

    MyThread myThread=new MyThread(tictit);
    Thread []threads=new Thread[test.number];

    for(int i=0;i<threads.length;i++)
    {
    threads[i]=new Thread(myThread,"第"+i+"个线程");
    }
    for(int i=0;i<threads.length;i++)
    {
    threads[i].start();
    }


    }
    }

  • 相关阅读:
    HbuildeX项目打包
    百度地图(vue)
    压缩图片
    安卓移动端唤起拨号与邮箱
    上传图片 原生或vant
    git从零开始
    HbuilderX,监视物理按键
    gitlab备份and恢复数据
    ⑨.kubernetes 之ingress
    ⑧.kubernetes pod调度
  • 原文地址:https://www.cnblogs.com/mengziHEHE/p/3236387.html
Copyright © 2020-2023  润新知