21xrx.com
2025-03-29 06:53:50 Saturday
文章检索 我的文章 写文章
Java内置锁:实现多线程同步的关键
2023-06-17 15:41:33 深夜i     8     0
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个

  
  

评论区

    相似文章
请求出错了