课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > 昆明java培训机构:Java同步知识分享
  • 昆明java培训机构:Java同步知识分享

    发布:昆明Java培训      来源:达内新闻      时间:2016-04-15

  • 昆明java培训机构小伙伴给大家做的分享希望大家好好学习,昆明java培训也希望收到更多小伙伴的知识分享。

    java同步指的是synchronized机制,而非synchronized的都是异步,弄懂同步的概念就大致明白了两者的差别。

    有关同步:

    synchronized用来修饰一个方法或者一个代码块,它用来保证在同一时刻最多只有一个线程执行该段代码。

    一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。

    二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。

    三、尤其关键的是,当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。

    四、第三个例子同样适用其它同步代码块。也就是说,当一个线程访问object的一个synchronized(this)同步代码块时,它就获得了这个object的对象锁。结果,其它线程对该object对象所有同步代码部分的访问都被暂时阻塞。

    五、以上规则对其它对象锁同样适用。

    示例代码:

    public class Thread1 implements Runnable {

    public void run() {

    synchronized(this) {

    for (int i = 0; i < 5; i++) {

    System.out.println(Thread.currentThread().getName() + " synchronized loop " + i);

    }

    }

    }

    public static void main(String[] args) {

    Thread1 t1 = new Thread1();

    Thread ta = new Thread(t1, "A");

    Thread tb = new Thread(t1, "B");

    ta.start();

    tb.start();

    }

    }

    结果:

    A synchronized loop 0

    A synchronized loop 1

    A synchronized loop 2

    A synchronized loop 3

    A synchronized loop 4

    B synchronized loop 0

    B synchronized loop 1

    B synchronized loop 2

    B synchronized loop 3

    B synchronized loop 4

    昆明java培训班小伙伴的分享结束了,你还有什么想要咨询的嘛?欢迎和长沙java培训小编交流。

    推荐文章

上一篇:昆明java培训Java异步介绍:

下一篇:昆明java培训分享js文件的同步加载与异步加载

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56