作家
登录

Java多线程之synchronized关键字详解

作者: 来源: 2017-05-29 14:39:09 阅读 我要评论

如不雅加上synchronized关键字,则会先输出一组0到9,然后再输出下一组,解释两个线程是按序履行的。

Java多线程之synchronized关键字详解

多线程的同步机制对资本进行加锁,使得在同一个时光,只有一个线程可以进行操作,同步用以解决多个线程同时拜访时可能出现的问题。

同步机制可以应用synchronized关键字实现。

当synchronized关键字润饰一个办法的时刻,该办法叫做同步办法。

当synchronized办法履行完或产生异常时,会主动释放锁。

下面经由过程一个例子来对synchronized关键字的用法进行解析。

1,是否应用synchronized关键字的不合

  1. public class ThreadTest 
  2.     public static void main(String[] args) 
  3.     { 
  4.         Example example = new Example(); 
  5.  
  6.         Thread t1 = new Thread1(example); 
  7.         Thread t2 = new Thread1(example); 
  8.  
  9.         t1.start(); 
  10.         t2.start(); 
  11.     } 
  12.  
  13.  
  14. class Example 
  15.     public synchronized void execute() 
  16.     { 
  17.         for (int i = 0; i < 10; ++i) 
  18.         { 
  19.             try 
  20.             { 
  21.                 Thread.sleep(500); 
  22.             } 
  23.             catch (InterruptedException e) 
  24.             { 
  25.                 e.printStackTrace(); 
  26.             } 
  27.             System.out.println("Hello: " + i); 
  28.         } 
  29.     } 
  30.  
  31.  
  32. class Thread1 extends Thread 
  33.     private Example example; 
  34.  
  35.     public Thread1(Example example) 
  36.     { 
  37.         this.example = example; 
  38.     } 
  39.  
  40.     @Override 
  41.     
     1/7    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      PHP与Golang如何通信?

    惯例的筹划: 用Golang写一个http/TCP办事,php经由过程http/TCP与Golang通信 将Golang经由较多封装,做为php扩大。 PHP经由过程体系敕令,调取Golang的可履行文件存在的问题: >>>详细阅读


    本文标题:Java多线程之synchronized关键字详解

    地址:http://www.17bianji.com/lsqh/35484.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)