なんでマルチスレッド使う
例えば、複数なユーザーがバイクレースゲームするとし、みんながそれぞれログインして、見てる画面が同じとか、ウィブで記事を見ながら音楽も聴けます、トイレしながらスマホをいじったりとか。こいうような複数な処理を行うのがマルチスレッドの役割です。
ご存知のように、javaのプロジェクト一つにあたり、メインメソッドが一つしかない、じゃ上記の場合には複数のメインメソッドが必要になりますね。
↑を解決するために、マルチスレッドを使います。
マルチスレッド作成種類
作成するのに以下の三種類があります。
thread(重要)
以下三つのステップでスレッド作れます。
①Threadクラスを継承する
②runメソッドをオーバーライドする
③startでスレッド開始する
ThreadTest.java
package com.maekawa.base;
//Threadクラスを継承する
public class ThreadTest extends Thread{
// runメソッドをオーバーライドする
@Override
public void run() {
for (int i = 0; i <100 ; i++) {
System.out.println("処理事項その二");
}
}
public static void main(String[] args) {
// startでスレッド開始する
ThreadTest threadTest = new ThreadTest();
threadTest.start();
for (int i = 0; i < 100; i++) {
System.out.println("処理事項その一");
}
}
}
runnable(重要)
Threadクラスにすでに実装されたインターフェースrunnableを使う。
①Threadクラスを継承する
②runメソッドをオーバーライドする
③startでスレッド開始する
RunnableTest.java
package com.maekawa.base;
/*
マルチスレッド作成方法
①Threadクラスを継承する
②runメソッドをオーバーライドする
③startでスレッド開始する
*/
public class RunnableTest implements java.lang.Runnable {
@Override
public void run() {
for (int i = 0; i <100 ; i++) {
System.out.println("処理事項その二");
}
}
public static void main(String[] args) {
RunnableTest runnableTest = new RunnableTest();
//書き方1
//Thread thread = new Thread(runnableTest);
//thread.start();
//書き方2
new Thread(runnableTest).start();
for (int i = 0; i < 100; i++) {
System.out.println("処理事項その一");
}
}
}
callable(理解程度)
この記事のコードが分かりやすい。
ラムダ(Lambda)式
参考記事↓