Java 并发性:同步与锁定

Java 并发性:同步与锁定,java,concurrency,Java,Concurrency,Java中synchronized和lock的区别是什么?synchronized是一个语言关键字;锁是对象 当一个方法或代码块被标记为synchronized时,您的意思是,在执行之前,必须通过该方法或代码块获得某个锁对象(可以在synchronized的语法中指定)。在Java中,使用synchronized关键字和lock对象来实现同步Synchronized对Java中每个对象所拥有的监视机制进行操作,而lock是一个更简单的对象,是监视器的构建块。我认为基本上问题在于显示器和锁的区别

Java中synchronized和lock的区别是什么?

synchronized
是一个语言关键字;锁是对象


当一个方法或代码块被标记为synchronized时,您的意思是,在执行之前,必须通过该方法或代码块获得某个锁对象(可以在synchronized的语法中指定)。在Java中,使用
synchronized
关键字和
lock
对象来实现同步
Synchronized
对Java中每个
对象所拥有的监视机制进行操作,而lock是一个更简单的对象,是监视器的构建块。我认为基本上问题在于显示器和锁的区别


锁(如
信号量
)是一种简单的机制,它只能通过互斥实现同步。如果一个线程获得了一个特定的锁(
lock.acquire()
),那么在第一个线程释放它之前,其他线程都不能获得相同的锁(
lock.release()
)。另一侧的监视器不仅基于互斥操作,还基于条件变量操作。在线程
T1
进入对象的监视器的场景中,线程
T2
打算进入同一监视器,
T2
将等待
T1
退出监视器,而在现代JVM中
T2
将在
T1
退出后立即进入监视器

请详细说明“锁定”的含义。是的,如果是,请在你的问题上加上“家庭作业”。他可能指的是“同步”和锁定实现之间的区别