Created
September 1, 2013 09:03
-
-
Save amay077/6403203 to your computer and use it in GitHub Desktop.
ExecutorService の復習 ref: http://qiita.com/amay077/items/b5f4e98b50d7fbcbaaec
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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()); | |
} | |
}); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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()); | |
} | |
}); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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()); | |
} | |
}); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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