mirror of
https://github.com/LamGC/ContentGrabbingJi.git
synced 2025-04-30 06:37:36 +00:00
[Change] Locker 增加清理日志;
[Add] LockerMapTest 增加单元测试;
This commit is contained in:
parent
2f647ee9fa
commit
08822f68eb
@ -1,9 +1,14 @@
|
||||
package net.lamgc.cgj.util;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
public final class Locker<K> {
|
||||
|
||||
private final static Logger log = LoggerFactory.getLogger(Locker.class);
|
||||
|
||||
private final LockerMap<K> fromMap;
|
||||
|
||||
private final K key;
|
||||
@ -56,9 +61,15 @@ public final class Locker<K> {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Locker{" +
|
||||
return "Locker@" + this.hashCode() + "{" +
|
||||
"fromMap=" + fromMap +
|
||||
", key=" + key +
|
||||
'}';
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void finalize() throws Throwable {
|
||||
super.finalize();
|
||||
log.trace("{} 已销毁.", this.toString());
|
||||
}
|
||||
}
|
||||
|
18
src/test/java/net/lamgc/cgj/util/LockerMapTest.java
Normal file
18
src/test/java/net/lamgc/cgj/util/LockerMapTest.java
Normal file
@ -0,0 +1,18 @@
|
||||
package net.lamgc.cgj.util;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class LockerMapTest {
|
||||
|
||||
@Test
|
||||
public void createAndFinalizeTest() {
|
||||
LockerMap<String> map = new LockerMap<>();
|
||||
Locker<String> locker = map.createLocker("Test", true);
|
||||
Assert.assertEquals(locker, map.createLocker("Test", true));
|
||||
locker.lock();
|
||||
locker.unlock();
|
||||
System.gc();
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user