Java 中的同步如何在内部工作

Java 中的同步是在关键字“synchronized”的帮助下实现的。此关键字可用于方法或块或对象,但不能用于类和变量。一段同步的代码只允许一个线程在给定时间访问和修改它。

但是,同步的代码会影响代码性能,因为它会增加其他线程尝试访问它的等待时间。因此,只有在有可能发生竞争条件时才应该同步一段代码。如果没有,应该避免它。

Java 中的同步如何在内部工作?

Java 中的内部同步是在锁(也称为监视器)概念的帮助下实现的。每个 Java 对象都有自己的锁。在同步代码块中,线程需要先获取锁,然后才能执行该特定代码块。一旦线程获得锁,它就可以执行那段代码。

执行完成后,它会自动释放锁。如果另一个线程需要对同步代码进行操作,它会等待对其进行操作的当前线程释放锁。这个获取和释放锁的过程由 Java 虚拟机内部处理。程序不负责线程获取和释放锁。但是,其余线程可以同时执行任何其他非同步代码。

Java 中的同步如何在内部工作

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注