今天给大家分享的是线程的小demo:使用线程安全的方式完成三个窗口卖100张票
package com.yogapay.moffice.api;
public class Test {
/*
3个窗口共卖100张票,使用线程安全的方式实现
*/
public static void main(String[] args) {
MyRunnable r= new MyRunnable();
Thread t1= new Thread(r,"窗口1:");
Thread t2= new Thread(r,"窗口2:");
Thread t3= new Thread(r,"窗口3:");
t1.start();
t2.start();
t3.start();
}
}
class MyRunnable implements Runnable{
int num=100;
@Override
public void run() {
while(true) {
try {
Thread.sleep(20);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
synchronized (this) {
if(num==0) {
break;
}
System.out.println(Thread.currentThread().getName()+"卖了一张票,余票"+(--num));
}
}
}
}
下面看效果图: