@@ -0,0 +1,1260 @@
+package org.mapdb;%0A%0Aimport org.junit.Test;%0A%0Aimport java.util.concurrent.ConcurrentMap;%0Aimport java.util.concurrent.ExecutorService;%0Aimport java.util.concurrent.Executors;%0Aimport java.util.concurrent.TimeUnit;%0A%0Aimport static org.junit.Assert.assertEquals;%0A%0Apublic class BTreeMapParTest %7B%0A%0A%0A    final int threadNum = 6;%0A    final int max = (int) 1e6;%0A%0A    @Test%0A    public void parInsert() throws InterruptedException %7B%0A%0A        ExecutorService s = Executors.newCachedThreadPool();%0A        final ConcurrentMap m = DBMaker.newMemoryDB().transactionDisable().make()%0A                .createTreeMap(%22test%22)%0A                .valueSerializer(Serializer.LONG)%0A                .makeLongMap();%0A%0A        long t = System.currentTimeMillis();%0A%0A        for(int j=0;j%3CthreadNum;j++)%7B%0A            final long core = j;%0A            s.submit(new Runnable() %7B%0A                @Override public void run() %7B%0A                    for(Long n=core;n%3Cmax;n+=threadNum)%7B%0A                        m.put(n,n);%0A                    %7D%0A                %7D%0A            %7D);%0A%0A%0A        %7D%0A%0A        s.shutdown();%0A        s.awaitTermination(10, TimeUnit.SECONDS);%0A%0A        System.out.printf(%22  Threads %25d, time %25,d%5Cn%22,threadNum,System.currentTimeMillis()-t);%0A%0A%0A        assertEquals(max,m.size());%0A    %7D%0A%7D%0A

add multithreaded test