资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Java使用synchronized怎么实现互斥锁功能

这篇文章主要为大家展示了Java使用synchronized怎么实现互斥锁功能,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。

成都创新互联主营龙华网站建设的网络公司,主营网站建设方案,成都app开发,龙华h5微信小程序搭建,龙华网站营销推广欢迎龙华等地区企业咨询

代码

package per.thread;
 
import java.io.IOException;
 
public class Test {
  
  private int i = 0;
  private Object object = new Object();
   
  public static void main(String[] args) throws IOException {
    
   Test test = new Test();
    
    Test.MyThread thread1 = test.new MyThread();
    Test.MyThread thread2 = test.new MyThread();
    thread1.start();
    thread2.start();
  } 
   
  class MyThread extends Thread{
    @Override
    public void run() {
      synchronized (object) {
        i++;
        System.out.println("i:"+i);
        try {
          System.out.println("线程"+Thread.currentThread().getName()+"进入睡眠状态");
          Thread.currentThread().sleep(10000);
        } catch (InterruptedException e) {
          // TODO: handle exception
        }
        System.out.println("线程"+Thread.currentThread().getName()+"睡眠结束");
        i++;
        System.out.println("i:"+i);
      }
    }
  }
}

实现

i:1
线程Thread-0进入睡眠状态
线程Thread-0睡眠结束
i:2
i:3
线程Thread-1进入睡眠状态
线程Thread-1睡眠结束
i:4

分析

在thread1休眠之后,thread2没有立即执行,因为给object加了synchronized。

以上就是关于Java使用synchronized怎么实现互斥锁功能的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。


文章标题:Java使用synchronized怎么实现互斥锁功能
URL标题:http://cdkjz.cn/article/gdsces.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220