From b89c633d97bb41e21d2942ae5ce562f093ce0267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A3=8E=E9=9B=A8bu=E6=94=B9?= <1006291762@qq.com> Date: Fri, 13 Jun 2025 08:24:45 +0000 Subject: [PATCH] =?UTF-8?q?!23=20[fix]=20=E8=B0=83=E6=95=B4=E9=83=A8?= =?UTF-8?q?=E5=88=86=E5=87=BD=E6=95=B0=E6=9D=83=E9=99=90=20*=20[fix]=20?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=83=A8=E5=88=86=E5=87=BD=E6=95=B0=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jar/PDConcurrent.jar | Bin 27072 -> 27067 bytes jar/PDConcurrent_all.jar | Bin 51958 -> 51915 bytes jar/PDConcurrent_bin.jar | Bin 28971 -> 28966 bytes jar/PDConcurrent_sources.jar | Bin 24323 -> 24285 bytes .../pdconcurrent/i/AbstractRWSyLock.java | 4 ++-- .../nulll/pdconcurrent/i/AbstractSyLock.java | 5 ++--- .../nulll/pdconcurrent/lock/ObjLock.java | 2 +- .../fybug/nulll/pdconcurrent/lock/RWLock.java | 4 ++-- .../fybug/nulll/pdconcurrent/lock/ReLock.java | 4 ++-- 9 files changed, 9 insertions(+), 10 deletions(-) diff --git a/jar/PDConcurrent.jar b/jar/PDConcurrent.jar index ae60b4c11e9f435e917231bbe5ecbc67b4458075..44d5ac4b15a80191a04c99d129008c17e0c9b8e6 100644 GIT binary patch delta 8961 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 delta 9028 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 SWvv?!ft#bqkZO&8JotZa7S_!G delta 17050 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 diff --git a/jar/PDConcurrent_bin.jar b/jar/PDConcurrent_bin.jar index b505829e940cda7ee47ffd980a01b0cfb5b9d6d0..45dc635c2b744d5c38890a643fb8d26c8b4d16e5 100644 GIT binary patch delta 8988 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 Kq^$q=_5T14L$edSoV<;VQJ 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 b2heH!>6094^I8<%0$TK15E()DpEdsnWU|{# diff --git a/src/main/java/fybug/nulll/pdconcurrent/i/AbstractRWSyLock.java b/src/main/java/fybug/nulll/pdconcurrent/i/AbstractRWSyLock.java index 92c61fc..def8a4d 100644 --- a/src/main/java/fybug/nulll/pdconcurrent/i/AbstractRWSyLock.java +++ b/src/main/java/fybug/nulll/pdconcurrent/i/AbstractRWSyLock.java @@ -121,7 +121,7 @@ class AbstractRWSyLock extends AbstractSyLock { * * @implSpec 在此处实现上锁功能,实现时应该支持根据上下文选择是否使用可以被线程中断的上锁方式 */ - protected abstract + public abstract void lock(@NotNull LockType lockType); /** @@ -133,7 +133,7 @@ class AbstractRWSyLock extends AbstractSyLock { * * @implSpec 在此处实现尝试上锁功能,实现时应该支持上下文参数 */ - protected abstract + public abstract boolean trylock(@NotNull LockType lockType); /** diff --git a/src/main/java/fybug/nulll/pdconcurrent/i/AbstractSyLock.java b/src/main/java/fybug/nulll/pdconcurrent/i/AbstractSyLock.java index 130072e..962c6b8 100644 --- a/src/main/java/fybug/nulll/pdconcurrent/i/AbstractSyLock.java +++ b/src/main/java/fybug/nulll/pdconcurrent/i/AbstractSyLock.java @@ -168,9 +168,8 @@ class AbstractSyLock implements SyLock { * @param lockThreadContext 新的默认上下文参数 */ public - void setDefaultLockThreadContext(@NotNull LockThreadContext lockThreadContext) { - this.defaultLockThreadContext = lockThreadContext; - } + void setDefaultLockThreadContext(@NotNull LockThreadContext lockThreadContext) + { this.defaultLockThreadContext = lockThreadContext; } /** 获取当前默认上下文参数 */ @NotNull diff --git a/src/main/java/fybug/nulll/pdconcurrent/lock/ObjLock.java b/src/main/java/fybug/nulll/pdconcurrent/lock/ObjLock.java index 6cf8cae..9bc4cbf 100644 --- a/src/main/java/fybug/nulll/pdconcurrent/lock/ObjLock.java +++ b/src/main/java/fybug/nulll/pdconcurrent/lock/ObjLock.java @@ -71,7 +71,7 @@ class ObjLock extends AbstractSyLock { * @since ObjLock 0.1.3 */ @SuppressWarnings("unchecked") - public + protected R lockimpl(@NotNull LockType lockType, @NotNull trySupplier run, @Nullable tryFunction catchby, @Nullable Function finaby) throws E1 diff --git a/src/main/java/fybug/nulll/pdconcurrent/lock/RWLock.java b/src/main/java/fybug/nulll/pdconcurrent/lock/RWLock.java index 8ddae39..74e4054 100644 --- a/src/main/java/fybug/nulll/pdconcurrent/lock/RWLock.java +++ b/src/main/java/fybug/nulll/pdconcurrent/lock/RWLock.java @@ -155,7 +155,7 @@ class RWLock extends AbstractRWSyLock { */ @SneakyThrows @Override - protected + public void lock(@NotNull LockType lockType) { var c = getLockThreadContext(); // 检查锁类型进行上锁,并更新对应锁计数 @@ -194,7 +194,7 @@ class RWLock extends AbstractRWSyLock { @SuppressWarnings("ConstantValue") @SneakyThrows @Override - protected + public boolean trylock(@NotNull LockType lockType) { // 是否成功 boolean success = false; diff --git a/src/main/java/fybug/nulll/pdconcurrent/lock/ReLock.java b/src/main/java/fybug/nulll/pdconcurrent/lock/ReLock.java index 4cfc5fe..ea96659 100644 --- a/src/main/java/fybug/nulll/pdconcurrent/lock/ReLock.java +++ b/src/main/java/fybug/nulll/pdconcurrent/lock/ReLock.java @@ -77,7 +77,7 @@ class ReLock extends AbstractRWSyLock { */ @SneakyThrows @Override - protected + public void lock(@NotNull LockType lockType) { var c = getLockThreadContext(); if ( lockType != LockType.NOLOCK ) { @@ -100,7 +100,7 @@ class ReLock extends AbstractRWSyLock { */ @SneakyThrows @Override - protected + public boolean trylock(@NotNull LockType lockType) { var c = getLockThreadContext(); var t = c.getTryTimeout(); -- Gitee