关闭

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

226人阅读 评论(0) 收藏 举报
分类:

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

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
      (Exception e)
     {};
     System.out.println(Thread.currentThread().getName()+"...sale :"+tick--);
    }
   }
  }
 }

}

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

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

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4974次
    • 积分:138
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:8篇
    • 译文:0篇
    • 评论:0条
    文章分类