Java中synchronized和同步方法

在多线程中,有一个经典问题:存票售票问题

如果只用两个Thread子类则容易陷入死循环。

有一个很好的解决办法就是synchronized。

方法一:在thread子类的run中直接通过synchronized来申请对象的锁旗标,即用synchronized把存售票代码框起来。

方法二:在票类中直接将方法在同步控制下执行,即在方法定义前加上synchronzide关键字。

例子:方法二:

public Synchronzied void put(){

  System.out.printkn("Producer puts ticket"+(++number));

  available=true;

}

猜你喜欢

转载自www.cnblogs.com/baokeai/p/10028837.html
今日推荐