演習課題「newSingleThreadExecutorを使ってみよう」

ExecutorServiceインタフェースのnewSingleThreadExecutorを使用してt1t2t3を1つのスレッドで実行し、各アルファベッド(abc)が混ざることなく出力されるようにしてください。
また、ExecutorServicesubmitメソッドを使用して、結果をあらわすFutureインスタンスを取得しましょう。各Futureインスタンスは以下のようにしてください。
t1: Runnableを引数に取り、タスクが正常に完了するとnullを返す。
t2: RunnableとTを引数に取り、タスクが正常に完了するとTを返す。
t3: Callableを引数に取り、タスクが正常に完了するとタスクの実行結果を返す。

なお、コンパイルコマンドについて理解できれいれば、以下のコマンドをコピーして利用してください。

javac -d classes/jp.paiza.thread -p classes source/jp.paiza.thread/module-info.java source/jp.paiza.thread/jp/paiza/thread/*.java

また、実行コマンドについて理解できていれば、以下の実行コマンドをコピーして利用してください。
java -p classes --module jp.paiza.thread/jp.paiza.thread.TEST

期待する出力値

a0
a1
a2
a3
a4
f1:null
b0
b1
b2
b3
b4
f2:true
c0
c1
c2
c3
c4
f3:true

演習課題「newFixedThreadPoolを使ってみよう」

ExecutorServiceインターフェースのnewFixedThreadPoolを使用してRunnable t1t2t3を2つのスレッドで実行し、2種のアルファベッド(ab)が混ざり、cが混ざることなく出力されるようにしてください。

なお、コンパイルコマンドについて理解できれいれば、以下のコマンドをコピーして利用してください。

javac -d classes/jp.paiza.thread -p classes source/jp.paiza.thread/module-info.java source/jp.paiza.thread/jp/paiza/thread/*.java

また、実行コマンドについて理解できていれば、以下の実行コマンドをコピーして利用してください。
java -p classes --module jp.paiza.thread/jp.paiza.thread.TEST

期待する出力値

b0
a0
b1
a1
b2
a2
b3
a3
b4
a4
c0
c1
c2
c3
c4

演習課題「newCachedThreadPoolを使ってみよう」

ExecutorServiceインターフェースのnewCachedThreadPoolを使用してRunnable t1t2t3を3つのスレッドで実行し、各アルファベッド(abc)全てが混ざって出力されるようにしてください。

なお、コンパイルコマンドについて理解できれいれば、以下のコマンドをコピーして利用してください。

javac -d classes/jp.paiza.thread -p classes source/jp.paiza.thread/module-info.java source/jp.paiza.thread/jp/paiza/thread/*.java

また、実行コマンドについて理解できていれば、以下の実行コマンドをコピーして利用してください。
java -p classes --module jp.paiza.thread/jp.paiza.thread.TEST

期待する出力値

a0
b0
a1
c0
b1
a2
c1
a3
b2
c2
a4
b3
c3
b4
c4

※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む

#03:Executorフレームワーク2(ExecutorService)

このチャプターでは、ExecutorフレームワークにおけるExecutorServiceついて学習します。