From 0188dee359636723190f0f67a6b674b7b08f7bef Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期一, 21 三月 2022 09:55:01 +0800
Subject: [PATCH] 增加判断json数据格式

---
 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java |   83 ++++++++++++++++++++++-------------------
 1 files changed, 45 insertions(+), 38 deletions(-)

diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java
index d1b24ec..9316f07 100644
--- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java
+++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java
@@ -27,7 +27,7 @@
     private static final int MAIN_TYPE = 0;
     private static final int IO_TYPE = 1;
 
-    private static final ExecutorService ioThread = ThreadToolUtils.getInstance().newFixedThreadPool(2);
+    private static final ExecutorService ioThread = ThreadToolUtils.getInstance().newFixedThreadPool(3);
 
     private EventDispatcher() {
     }
@@ -63,43 +63,48 @@
     }
 
     public synchronized void remove(Object tag) {
-        ioThread.execute(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    if (EVENT.containsKey(tag)) {
-                        List<EventListener> list = EVENT.get(tag);
-                        for (EventListener eventListener : list) {
-                            TYPE.remove(eventListener);
+        try {
+
+            ioThread.execute(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        if (EVENT.containsKey(tag)) {
+                            List<EventListener> list = EVENT.get(tag);
+                            for (EventListener eventListener : list) {
+                                TYPE.remove(eventListener);
+                            }
+                            EVENT.remove(tag);
                         }
-                        EVENT.remove(tag);
+                    } catch (Exception ignored) {
+
                     }
-                } catch (Exception ignored) {
 
                 }
-
-            }
-        });
+            });
+        }catch (Exception e){}
     }
 
     public synchronized void remove(Object tag, EventListener listener) {
-        ioThread.execute(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    if (EVENT.containsKey(tag)) {
-                        List<EventListener> ev = EVENT.get(tag);
-                        if (ev != null && !ev.isEmpty()) {
-                            TYPE.remove(listener);
-                            ev.remove(listener);
+        try {
+            ioThread.execute(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        if (EVENT.containsKey(tag)) {
+                            List<EventListener> ev = EVENT.get(tag);
+                            if (ev != null && !ev.isEmpty()) {
+                                TYPE.remove(listener);
+                                ev.remove(listener);
+                            }
                         }
+                    } catch (Exception ignored) {
+
                     }
-                } catch (Exception ignored) {
 
                 }
-
-            }
-        });
+            });
+        }catch (Exception e){}
     }
 
 
@@ -150,20 +155,22 @@
      * @param listener
      */
     public synchronized void removeAllTopicsListener(EventListener listener) {
-        ioThread.execute(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    if (ALL_TOPICS_EVENT != null && !ALL_TOPICS_EVENT.isEmpty()) {
-                        TYPE.remove(listener);
-                        ALL_TOPICS_EVENT.remove(listener);
+        try {
+            ioThread.execute(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        if (ALL_TOPICS_EVENT != null && !ALL_TOPICS_EVENT.isEmpty()) {
+                            TYPE.remove(listener);
+                            ALL_TOPICS_EVENT.remove(listener);
+                        }
+                    } catch (Exception ignored) {
+
                     }
-                } catch (Exception ignored) {
 
                 }
-
-            }
-        });
+            });
+        }catch (Exception e){}
     }
 
     public synchronized void clear() {

--
Gitblit v1.8.0