一个简单多线程购票Demo

Posted mzxx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个简单多线程购票Demo相关的知识,希望对你有一定的参考价值。

package thread;

public class Test02 
//定义初始票数 public static int chepiao = 20; public static void main(String[] args)
     Test02 t = new Test02();
//匿名类创建线程 Thread t1 = new Thread() @Override public void run()
              //加同步锁 synchronized(Test02.class)
                    //卖完就停止 if(chepiao<=0) return; // TODO Auto-generated method stub try t.jianfa(); catch (InterruptedException e) // TODO Auto-generated catch block e.printStackTrace(); super.run(); ;           //启动30个线程 for(int i = 1;i<30;i++) new Thread(t1).start(); //票数-1 public synchronized void jianfa() throws InterruptedException chepiao--; System.out.println("线程: "+Thread.currentThread().getName()+",抢到1张票,剩余"+chepiao+"张!");
备注:在对变量进行共享线程时,最好使用AtomicInteger 进行自增或递减操作

  

以上是关于一个简单多线程购票Demo的主要内容,如果未能解决你的问题,请参考以下文章

Java多线程同步问题:一个小Demo完全搞懂

Python简单多进程demo

java多线程——简单多线程demo

Python简单的多线程demo:常用写法

简单多线程BackgroundWorker

Python简单的多线程demo:装逼写法