package net.hopeisagoodthing.handlerthreadexample; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import java.util.concurrent.CountDownLatch; public class MainActivity extends AppCompatActivity { private static final int REQUEST_COUNT = 10; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); startHandlerThread(); startThread(); } void startHandlerThread() { new Thread(new Runnable() { @Override public void run() { final SimpleHandlerThread simpleHandlerThread = new SimpleHandlerThread(new ThreadMonitor(REQUEST_COUNT)); for(int i = 0; i < REQUEST_COUNT; i++) { simpleHandlerThread.request(String.valueOf(i)); try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start(); } void startThread(){ new Thread(new Runnable() { @Override public void run() { final SimpleThread simpleThread = new SimpleThread(new ThreadMonitor(REQUEST_COUNT)); for(int i = 0; i < REQUEST_COUNT; i++) { simpleThread.request(String.valueOf(i)); try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start(); } }