@@ -0,0 +1,1278 @@
+package org.banyan.bytecode;%0A%0Aimport java.util.concurrent.ExecutorService;%0Aimport java.util.concurrent.Executors;%0A%0A/**%0A * User:krisjin%0A * Date:2020-05-01%0A */%0Apublic class ShareObj %7B%0A    static class ShareCounter %7B//%E5%85%B1%E4%BA%AB%E8%AE%A1%E6%95%B0%E5%99%A8%E5%AF%B9%E8%B1%A1%0A        public int counter = 0;%0A    %7D%0A%0A%0A    static class Task implements Runnable %7B%0A        private ShareCounter shareCounter;%0A%0A        public Task(ShareCounter shareCounter) %7B%0A            this.shareCounter = shareCounter;%0A        %7D%0A%0A        public void run() %7B%0A            System.err.println(Thread.currentThread().getName() + %22, ++before, %22 + shareCounter.counter);%0A            shareCounter.counter++;%0A            System.err.println(Thread.currentThread().getName() + %22, ++after,  %22 + shareCounter.counter + %22%5Cn%22);%0A        %7D%0A    %7D%0A%0A    public static void main(String%5B%5D args) %7B%0A        ShareCounter shareCounter = new ShareCounter();%0A        ExecutorService executorService = Executors.newFixedThreadPool(4);%0A%0A        for (int i = 0; i %3C 2; i++)%0A            executorService.submit(new Task(shareCounter));%0A%0A        try %7B%0A            Thread.currentThread().join(500);%0A            System.err.println(shareCounter.counter);%0A        %7D catch (InterruptedException e) %7B%0A            e.printStackTrace();%0A        %7D%0A        executorService.shutdownNow();%0A    %7D%0A%7D%0A

add config