多线程同步化
class MyThread implements Runnable{ //利用Runnable接口实现多线程操作
private int ticket=5; //定义5个票数
public void run(){
for(int i=0;i<99;i++){
synchronized(this){ //利用synchronized同步化票数
if(ticket>0){
try{
Thread.sleep(300);} //使用sleep休眠方法需要加cry catch块
catch(InterruptedException e){} //处理异常
System.out.println("卖票:ticket="+ticket--);}}} //输出卖出后的票数
}}
public class SyncDemo2{
public static void main(String[] args){
MyThread mt=new MyThread(); //给MyThread创建对象
Thread t1=new Thread(mt); //把MT对象传给Thread并创t1线程对象
Thread t2=new Thread(mt); //把MT对象传给Thread并创t2线程对象
Thread t3=new Thread(mt); //把MT对象传给Thread并创t3线程对象
t1.start();
t2.start();
t3.start(); //使用start启动线程对象
}}