同步代码快:解决多线程安全问题

来源:互联网 发布:火影忍者ol刷元宝软件 编辑:程序博客网 时间:2024/06/06 12:59

同步代码块:解决多线程安全问题

synchronized(对象)
{
需要同步的代码
}
前提:一个以上线程;多个线程一个锁
好处:解决了安全问题
弊端:消耗资源,慢

 

class Ticket implements Runnable//extends Thread
{
 private static int tick = 100;
 Object obj = new Object();

 public void run()
 {
  while(true)
  {
   synchronized(obj)
   {
    if(tick>0)
    {
     try
     {
      Thread.sleep(20);
     }
     catch
      (Exceptione)
     {};
     System.out.println(Thread.currentThread().getName()+"...sale:"+tick--);
    }
   }
  }
 }

}

class  TicketDemo2
{
 public static void main(String[] args)
 {
  
  Ticket t = new Ticket();

  Thread t1 =newThread(t);
  Thread t2 =new Thread(t);
  Thread t3 =new Thread(t);
  Thread t4 =new Thread(t);

  t1.start();
  t2.start();
  t3.start();
  t4.start();
 }
}

原创粉丝点击