From b6fb3f94038904ffdb200fad4ae6eece92a35e6b Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Mon, 10 Dec 2018 11:53:53 +0300 Subject: [PATCH] =?UTF-8?q?oops!=20=D0=B7=D0=B0=D0=B1=D1=8B=D0=BB=D0=B8=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=20=D0=B0=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=BF=D0=BE=D1=82=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/ru/dmitriymx/vkapi/VkApi.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/ru/dmitriymx/vkapi/VkApi.java b/src/main/java/ru/dmitriymx/vkapi/VkApi.java index a02828c..535037f 100644 --- a/src/main/java/ru/dmitriymx/vkapi/VkApi.java +++ b/src/main/java/ru/dmitriymx/vkapi/VkApi.java @@ -30,6 +30,7 @@ public class VkApi implements Runnable { private Timer timer = new Timer(); private int countCallApiPerSecond = 0; + private Thread asyncExecApiThread = null; private BlockingQueue queueExecute = new SynchronousQueue<>(); @@ -66,6 +67,11 @@ public class VkApi implements Runnable { } public void execApiAsync(String apiMethod, Map params, Callback callback) { + if (asyncExecApiThread == null) { + asyncExecApiThread = new Thread(this); + asyncExecApiThread.start(); + } + queueExecute.offer(TaskMethod.builder() .method(apiMethod) .postData(params) @@ -123,6 +129,12 @@ public class VkApi implements Runnable { return gson.fromJson(response.getContent(), JsonObject.class); } + public void shutdownAsyncThread() { + if (asyncExecApiThread != null && !asyncExecApiThread.isInterrupted()) { + asyncExecApiThread.interrupt(); + } + } + private String paramsToString(Map params) { final StringJoiner sj = new StringJoiner("&"); sj.add("access_token=" + accessToken).add("v=" + apiVersion);