Mercurial > hg > Members > tatsuki > jungle-bench
diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle_core/AtomicBench.java @ 20:195c1a644550
benchmark add
author | tatsuki |
---|---|
date | Tue, 17 Mar 2015 15:37:19 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle_core/AtomicBench.java Tue Mar 17 15:37:19 2015 +0900 @@ -0,0 +1,46 @@ +package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle_core; +import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.lang.Integer;import java.lang.InterruptedException;import java.lang.Runtime;import java.lang.String;import java.lang.System;import java.util.concurrent.atomic.AtomicReference; + +/** + * Created by e115731 on 15/03/11. + */ +public class AtomicBench { + public static void main(String args[]) throws IOException { + Runtime rt = Runtime.getRuntime(); + int cpuNum = rt.availableProcessors(); + System.out.println("CPUCount = " + cpuNum); + File file = new File("strCount"); + PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); + + AtomicReferenceTest ref = new AtomicReferenceTest(0); + + for (int count = 1; count <= cpuNum; count++) { + readAtomicReservableReferenceThread th[] = new readAtomicReservableReferenceThread[count]; + for (int tcount = 0; tcount < count; tcount++) { + th[tcount] = new readAtomicReservableReferenceThread(ref); + th[tcount].start(); + } + try { + java.lang.Thread.sleep(2000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + long readCount = 0; + + for (int tcount = 0; tcount < count; tcount++) { + th[tcount].set(false); + System.out.println(th[tcount].get()); + readCount = readCount + th[tcount].get(); + } + + System.out.println("----------------------Thread Stop--------------------------------------------"); + + pw.println(count + " " + readCount); + System.out.println("ThreadTest count = " + count); + System.out.println("read count = " + (readCount)); + } + pw.close(); + System.out.println("-----------end--------------------------------------------------------"); + } +}