Android Open Source - MergeSortBenchmark Go






From Project

Back to project page MergeSortBenchmark.

License

The source code is released under:

MIT License

If you think the Android project MergeSortBenchmark listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package go;
/*from  w  w w  . j  a  va  2s . c o  m*/
import android.content.Context;
import android.os.Looper;
import android.util.Log;

// Go is an entry point for libraries compiled in Go.
// In an app's Application.onCreate, call:
//
//      Go.init(getApplicationContext());
//
// When the function returns, it is safe to start calling
// Go code.
public final class Go {
        // init loads libgojni.so and starts the runtime.
        public static void init(Context context) {
                if (Looper.myLooper() != Looper.getMainLooper()) {
                        Log.wtf("Go", "Go.init must be called from main thread (looper="+Looper.myLooper().toString()+")");
                }
                if (running) {
                        return;
                }
                running = true;

                // TODO(crawshaw): setenv TMPDIR to context.getCacheDir().getAbsolutePath()
                // TODO(crawshaw): context.registerComponentCallbacks for runtime.GC

                System.loadLibrary("gomergesort");

                new Thread("GoMain") {
                        public void run() {
                                Go.run();
                        }
                }.start();

                Go.waitForRun();

        new Thread("GoReceive") {
            public void run() { Seq.receive(); }
        }.start();
        }

        private static boolean running = false;

        private static native void run();
        private static native void waitForRun();
}




Java Source Code List

go.Go.java
go.Seq.java
go.mergesort.Mergesort.java
io.jamescscott.mergesortbenchmark.ApplicationTest.java
io.jamescscott.mergesortbenchmark.CMergeSort.java
io.jamescscott.mergesortbenchmark.GoMergeSort.java
io.jamescscott.mergesortbenchmark.IMergeSortable.java
io.jamescscott.mergesortbenchmark.JavaMergeSort.java
io.jamescscott.mergesortbenchmark.MainActivity.java
io.jamescscott.mergesortbenchmark.MergeSortBenchmarkController.java
io.jamescscott.mergesortbenchmark.MergeSortBenchmarkData.java