1

我在负载测试期间为我的应用程序进行了一些线程转储,发现我所有的 Cacheable read_only 实体都在其中注册了一些锁。我还看到写在磁盘上的 .data 文件。这是正常的吗?.data 文件上写的是什么?

我使用以下注释:

@Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.READ_ONLY)

线程转储堆栈跟踪:

"some.come.entity.SomeEntity.data" daemon prio=10 tid=0x00007f9fad47f000 nid=0x7b2e waiting on condition [0x00007f9ef74b3000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x000000073ff0f098> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
4

0 回答 0