Skip to content

Instantly share code, notes, and snippets.

@amay077
Created September 1, 2013 09:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save amay077/6403203 to your computer and use it in GitHub Desktop.
Save amay077/6403203 to your computer and use it in GitHub Desktop.
public void singleThreadExecutorBasicTest() throws Exception {
final ExecutorService executor = Executors.newSingleThreadExecutor();
Log.d(TAG, "Primary ThreadID:" + Thread.currentThread().getId());
executor.submit(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task A. ThreadId:" + Thread.currentThread().getId());
}
});
executor.submit(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task B. ThreadId:" + Thread.currentThread().getId());
}
});
}
public void singleThreadExecutorHeavyWorkTest() throws Exception {
final ExecutorService executor = Executors.newSingleThreadExecutor();
Log.d(TAG, "Primary ThreadID:" + Thread.currentThread().getId());
executor.submit(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task A start. ThreadId:" + Thread.currentThread().getId());
// Wait
try { Thread.sleep(3000); } catch (InterruptedException e) { }
Log.d(TAG, "Run task A end.");
}
});
executor.submit(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task B. ThreadId:" + Thread.currentThread().getId());
}
});
}
public void threadPoolExecutorHeavyWorkTest() throws Exception {
final ExecutorService executor = Executors.newFixedThreadPool(2);
Log.d(TAG, "Primary ThreadID:" + Thread.currentThread().getId());
executor.submit(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task A start. ThreadId:" + Thread.currentThread().getId());
// Wait
try { Thread.sleep(3000); } catch (InterruptedException e) { }
Log.d(TAG, "Run task A end.");
}
});
executor.submit(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task B. ThreadId:" + Thread.currentThread().getId());
}
});
}
public void singleThreadScheduledExecutorBasicTest() throws Exception {
final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
Log.d(TAG, "Primary ThreadID:" + Thread.currentThread().getId());
executor.schedule(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task A. ThreadId:" + Thread.currentThread().getId());
}
}, 5, TimeUnit.SECONDS);
executor.schedule(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task B. ThreadId:" + Thread.currentThread().getId());
}
}, 3, TimeUnit.SECONDS);
}
public void singleThreadScheduledExecutorHeavyWorkTest() throws Exception {
final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
Log.d(TAG, "Primary ThreadID:" + Thread.currentThread().getId());
executor.schedule(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task A. ThreadId:" + Thread.currentThread().getId());
}
}, 5, TimeUnit.SECONDS);
executor.schedule(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task B start. ThreadId:" + Thread.currentThread().getId());
// Wait
try { Thread.sleep(10000); } catch (InterruptedException e) { }
Log.d(TAG, "Run task B end.");
}
}, 3, TimeUnit.SECONDS);
}
public void threadPoolScheduledExecutorHeavyWorkTest() throws Exception {
final ScheduledExecutorService executor = Executors.newScheduledThreadPool(2);
Log.d(TAG, "Primary ThreadID:" + Thread.currentThread().getId());
executor.schedule(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task A. ThreadId:" + Thread.currentThread().getId());
}
}, 5, TimeUnit.SECONDS);
executor.schedule(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task B start. ThreadId:" + Thread.currentThread().getId());
// Wait
try { Thread.sleep(10000); } catch (InterruptedException e) { }
Log.d(TAG, "Run task B end.");
}
}, 3, TimeUnit.SECONDS);
}
public void singleThreadScheduledExecutorTimerBasicTest() throws Exception {
final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
Log.d(TAG, "Primary ThreadID:" + Thread.currentThread().getId());
executor. scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task A. ThreadId:" + Thread.currentThread().getId());
}
}, 5, 3, TimeUnit.SECONDS);
}
public void singleThreadScheduledExecutorTimerHeavyTest() throws Exception {
final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
Log.d(TAG, "Primary ThreadID:" + Thread.currentThread().getId());
executor.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task A. ThreadId:" + Thread.currentThread().getId());
}
}, 5, 3, TimeUnit.SECONDS);
}
public void singleThreadScheduledExecutorFixedDelayHeavyTest() throws Exception {
final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
Log.d(TAG, "Primary ThreadID:" + Thread.currentThread().getId());
executor.scheduleWithFixedDelay(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task A. ThreadId:" + Thread.currentThread().getId());
}
}, 5, 3, TimeUnit.SECONDS);
}
public void singleThreadScheduledExecutorFixedDelayHeavyTest() throws Exception {
final ScheduledExecutorService executor = Executors.newScheduledThreadPool(2);
Log.d(TAG, "Primary ThreadID:" + Thread.currentThread().getId());
executor.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Run task A start. ThreadId:" + Thread.currentThread().getId());
// Wait
try { Thread.sleep(10000); }
catch (InterruptedException e) { Log.w(TAG, "Interrupted task A. ThreadId:" + Thread.currentThread().getId()); }
Log.d(TAG, "Run task A end.");
}
}, 5, 3, TimeUnit.SECONDS);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment