A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class 多线程火车票
{
        public static void main(String[] args)
        {
                new Tickets().start();
                new Tickets().start();
                new Tickets().start();
                new Tickets().start();
        }
       
}
class Tickets extends Thread
{
        private static int ticket=100;
        //ReentrantLock r = new ReentrantLock();
       
        public void run()
        {
                while(true)
                {
                        //r.lock();
                        synchronized("a"){
                        if(ticket==0)
                        {
                                break;
                        }
                        try
                        {
                                Thread.sleep(10);
                        }
                        catch (InterruptedException e)
                        {
                                e.printStackTrace();
                        }
                System.out.println(this.getName()+":" +ticket--);
                //r.unlock();
                        }
                }
        }
        }
——————————————————————————
public class 多线程火车票
{
        public static void main(String[] args)
        {
                new Tickets().start();
                new Tickets().start();
                new Tickets().start();
                new Tickets().start();
        }
       
}
class Tickets extends Thread
{
        private static int ticket=100;
        ReentrantLock r = new ReentrantLock();
        public void run()
        {
                while(true)
                {
                        r.lock();
                        if(ticket==0)
                        {
                                break;
                        }
                        try
                        {
                                Thread.sleep(10);
                        }
                        catch (InterruptedException e)
                        {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                System.out.println(this.getName()+":" +ticket--);
                r.unlock();
                }
        }
        }

多线程模拟火车站卖票,第二种方式出现负数,请问互斥锁必须两个以上才有意义吗,互斥锁和synchronized 的区别是什么呢

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马