2个线程竞争锁,在获取锁之前记录系统时间,先获得锁的线程记录的时间一定更小吗?

一段代码,获取锁之前记录系统时间(精确到纳秒),然后进行一些操作,再记录一下系统时间,这段代码会有多线程竞争。对比不同线程记录的结果,发现有时候会出现前一个时间较小,后一个时间却较大的情况,这是正常的吗?出现这种情况时前一个时间差在几十到一百多纳秒,后一个时间差是微秒级别

这种情况是正常的,这种锁叫竞争锁,我是搞Java编程的,Java中就有竞争锁和公平锁,竞争锁的话资源不一定被哪一个等待的线程获取到,公平锁的话就是先来后到原则,等待时间最长的最先获取资源