oracle中两个事务update同一行记录时,后执行的事务是否必须等待?

问题描述:

事务1:
update table_a set createtime = sysdate where id=1;
select * from table_a;
...

事务2:
update table_a set createtime = sysdate where id=1;
select * from table_a;
...

两个事务同时跑,如果事务1先执行了update语句但是没有commit或者rollback,那么事务2可以执行吗?还是必须等待事务1呢?
求大神解惑!

一定是必须等待的

有时候会刻意这么做,来防止并发出现的问题

有个名词叫“悲观锁”说的就是这个情形。

没有 线程并行,肯定是单一线程 一直执行下去的