在通用DBMS中,隐式地实现了锁定系统的读/写操作,因此程序员不一定处理这种复杂的锁定机制。但是为什么当我们在应用程序级别编写代码时,我们仍然需要在写入时使用一些锁定/同步函数。
e.g。
public synchronized writetoDBMS(){ SQL语句写入DBMS}
答案 0 :(得分:1)
@Kit Ho:在方法名称之前的synchronized关键字只确保单个线程一次执行所附的代码以及同一对象的其他同步方法...因此其他操作可以是读取或写入操作。 现在为什么在某些与DB相关的方法上看到synchronized关键字? 以及由数据库处理的并发操作,你依赖隔离级别。阅读 Database Isolation
现在让我们说你的数据库隔离级别是READ UNCOMMITTED,你有方法读取和写入同一个表,然后你肯定想要同步这些方法。
答案 1 :(得分:0)
使用synchronized
是锁定该特定方法/代码,以便其他线程必须等到当前线程完成执行同步代码块,这意味着同步代码不能执行超过在任何给定的实例中都有一个线程。
这仅在 应用程序中提供保护。