From d51c4665337eab2df6cd32386352e8a91741f857 Mon Sep 17 00:00:00 2001
From: Starryi <starryi@foxmail.com>
Date: Thu, 14 Apr 2022 18:12:00 +0800
Subject: [PATCH] =?UTF-8?q?REPORT-69776=20=E5=88=87=E6=8D=A2=E5=9C=A8?=
 =?UTF-8?q?=E7=BA=BF=E7=BB=84=E4=BB=B6=E7=9A=84=E6=8E=92=E5=BA=8F=EF=BC=8C?=
 =?UTF-8?q?=E4=BC=9A=E5=8A=A0=E8=BD=BD=E5=BE=88=E4=B9=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

【问题原因】
使用了固定容量阻塞列表,导致资源加载阻塞

【改动思路】
使用LinkedBlockingQueue

【review建议】
---
 .../ui/online/resource/OnlineResourceManager.java      | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/resource/OnlineResourceManager.java b/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/resource/OnlineResourceManager.java
index b29ea11dbc..ecdea13fec 100644
--- a/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/resource/OnlineResourceManager.java
+++ b/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/resource/OnlineResourceManager.java
@@ -1,8 +1,8 @@
 package com.fr.design.mainframe.share.ui.online.resource;
 
 import javax.swing.SwingWorker;
-import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
 import java.util.function.Predicate;
 
 /**
@@ -24,7 +24,7 @@ public class OnlineResourceManager {
     private SwingWorker<Boolean, Void> swingWorker;
 
 
-    private final BlockingQueue<ResourceLoader> loaderBlockingQueue = new ArrayBlockingQueue<ResourceLoader>(100);
+    private final BlockingQueue<ResourceLoader> loaderBlockingQueue = new LinkedBlockingQueue<>();
 
     public void cancelLoad(Object key) {
         if (swingWorker != null) {
@@ -39,11 +39,7 @@ public class OnlineResourceManager {
     }
 
     public void addLoader(ResourceLoader loader) {
-        try {
-            this.loaderBlockingQueue.put(loader);
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-        }
+        this.loaderBlockingQueue.add(loader);
     }
 
     public void loadImage() {