一段代码,获取锁之前记录系统时间(精确到纳秒),然后进行一些操作,再记录一下系统时间,这段代码会有多线程竞争。对比不同线程记录的结果,发现有时候会出现前一个时间较小,后一个时间却较大的情况,这是正常的吗?出现这种情况时前一个时间差在几十到一百多纳秒,后一个时间差是微秒级别
收起
当前问题酬金
¥ 0 (可追加 ¥500)
支付方式
扫码支付
支付金额 15 元
提供问题酬金的用户不参与问题酬金结算和分配
支付即为同意 《付费问题酬金结算规则》
这种情况是正常的,这种锁叫竞争锁,我是搞Java编程的,Java中就有竞争锁和公平锁,竞争锁的话资源不一定被哪一个等待的线程获取到,公平锁的话就是先来后到原则,等待时间最长的最先获取资源
报告相同问题?