21xrx.com
2024-12-27 20:54:25 Friday
登录
文章检索 我的文章 写文章
Java内置锁:实现多线程同步的关键
2023-06-17 15:41:33 深夜i     --     --
Java 内置锁 多线程同步

Java作为一门面向对象语言,内置了许多多线程操作的方法和工具。其中最常用的就是内置锁,也被称为synchronized锁。通过使用Java内置锁,程序员可以轻松实现多线程间的同步和互斥操作。

内置锁的用法非常简单。只需要在代码块或者方法前加上synchronized关键字,即可在内存中创建一个锁对象,在多线程同时访问的时候,只有获取到锁的那个线程才能执行被锁定的代码块或者方法。其他等待锁的线程则处于阻塞状态,直到锁被释放。

下面是一个简单的代码案例,通过内置锁实现了两个线程间的同步打印:


public class PrintDemo {

  public synchronized void print(String threadName) {

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

      System.out.println(threadName + " 打印 " + i);

      try {

        Thread.sleep(1000);

      } catch (InterruptedException e) { }

    }

  }

}

public class Main {

  public static void main(String[] args) {

    final PrintDemo printDemo = new PrintDemo();

    new Thread(new Runnable() {

      @Override

      public void run() {

        printDemo.print("线程1");

      }

    }).start();

    new Thread(new Runnable() {

      @Override

      public void run() {

        printDemo.print("线程2");

      }

    }).start();

  }

}

在上面的代码中,PrintDemo类中的print方法前加上了synchronized关键字,因此在线程1访问print方法时获取了锁并开始打印,而线程2则在等待线程1释放锁后才能执行print方法。通过这种方式,我们可以保证程序输出的正确性和一致性。

通过使用Java内置锁,程序员可以轻松实现多线程间的同步和互斥操作。只需要简单的加上synchronized关键字,就可以保证程序的正确性和安全性。因此,Java内置锁是多线程编程中不可缺少的一部分,是实现线程同步的关键之一。

3个

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章