マルチスレッドをJavaで実装の方法
javaで多重スレッドを実現する方法としては3種類ある:
- Threadクラスを継承する:Threadクラスを継承したクラスを作成し、run()メソッドをオーバーライド。その後、そのクラスのインスタンスを作成し、start()メソッドを呼び出してスレッドを開始。
class MyThread extends Thread {
public void run() {
// 线程执行的代码
}
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
}
}
- Runnableインターフェースを実装します: Runnableインターフェースを実装するクラスを作成し、run()メソッドを実装します。次に、そのクラスのインスタンスをThreadクラスのコンストラクタの引数として作成し、Threadオブジェクトを作成し、start()メソッドを呼び出してスレッドを開始します。
class MyRunnable implements Runnable {
public void run() {
// 线程执行的代码
}
public static void main(String[] args) {
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(myRunnable);
thread.start();
}
}
- Executorフレームワークを使用する:スレッドプールの作成により、スレッドの管理と再利用が容易になります。Executorsクラスの静的なメソッドを使用して、さまざまなタイプのスレッドプールを作成し、submit()メソッドを使用してRunnableオブジェクトまたはCallableオブジェクトを送信できます。
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
class MyRunnable implements Runnable {
public void run() {
// 线程执行的代码
}
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(10);
executor.submit(new MyRunnable());
executor.shutdown();
}
}