view src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/test/JungleWriteThread.java @ 189:31d9158356de

add JungleWriteThread to JungleBenchMark
author tatsuki
date Sat, 18 Apr 2015 20:13:12 +0900
parents
children
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.test;

import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;

import java.nio.ByteBuffer;

/**
 * Created by e115731 on 15/04/18.
 */
public class JungleWriteThread extends Thread {

    JungleTree tree;
    boolean loop = true;
    private int writeCount;

    public JungleWriteThread(JungleTree tree) {
        this.tree = tree;
    }

    public void set(boolean flag) {
        loop = flag;
    }

    public void get() {
        System.out.println("writeCount = " + writeCount);
    }

    ;

    @Override
    public void run() {
        while (loop) {
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            JungleTreeEditor editor = tree.getTreeEditor();
            editor = editor.putAttribute(new DefaultNodePath(), "key", ByteBuffer.wrap(String.valueOf(0).getBytes())).b();
            if (editor.success().isA())
                System.out.println("faild");
            else
                writeCount++;
        }
    }
}