From d5230b926fc43ed9fc81a95fb1aac80c03a1292f Mon Sep 17 00:00:00 2001 From: dongRogen <3601778801@qq.com> Date: Mon, 25 Jul 2022 23:30:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BA=BF=E7=A8=8B=E9=94=81?= =?UTF-8?q?=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/top/jie65535/jcf/util/LockUtil.kt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/main/kotlin/top/jie65535/jcf/util/LockUtil.kt diff --git a/src/main/kotlin/top/jie65535/jcf/util/LockUtil.kt b/src/main/kotlin/top/jie65535/jcf/util/LockUtil.kt new file mode 100644 index 0000000..3bb9453 --- /dev/null +++ b/src/main/kotlin/top/jie65535/jcf/util/LockUtil.kt @@ -0,0 +1,19 @@ +package top.jie65535.jcf.util + +import java.util.concurrent.locks.Lock +import java.util.concurrent.locks.ReentrantLock + +/** + * 线程锁工具 + */ +class LockUtil(val state: T, val lock: Lock = ReentrantLock()) { + + inline fun withLock(fn: T.()->R): R { + try { + lock.lock() + return fn(state) + } finally { + lock.unlock() + } + } +}