From 80a359ba5a0442ae3e5bf905d1e9ca1f5856ffcd Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Tue, 24 Sep 2024 12:29:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/legado/app/model/analyzeRule/AnalyzeUrl.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt index 7b2f87069..49b95ab10 100644 --- a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt +++ b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt @@ -320,11 +320,16 @@ class AnalyzeUrl( val rateIndex = concurrentRate.indexOf("/") var fetchRecord = concurrentRecordMap[source.getKey()] if (fetchRecord == null) { - fetchRecord = ConcurrentRecord(rateIndex > 0, System.currentTimeMillis(), 1) - concurrentRecordMap[source.getKey()] = fetchRecord - return fetchRecord + synchronized(concurrentRecordMap) { + fetchRecord = concurrentRecordMap[source.getKey()] + if (fetchRecord == null) { + fetchRecord = ConcurrentRecord(rateIndex > 0, System.currentTimeMillis(), 1) + concurrentRecordMap[source.getKey()] = fetchRecord + return fetchRecord + } + } } - val waitTime: Int = synchronized(fetchRecord) { + val waitTime: Int = synchronized(fetchRecord!!) { try { if (!fetchRecord.isConcurrent) { //并发控制非 次数/毫秒