ホームページ >Java >&#&チュートリアル >Java マルチスレッド プログラミング方法の概要 (例付き)
この記事は Java マルチスレッドの実装方法をまとめたものです (例付き)。必要な方は参考にしていただければ幸いです。
1. マルチスレッド プログラミングを使用する場合
通常の状況ではタスクは順番に実行されますが、現在のタスク内に複数の同様のプロセス ブロックがある場合 (for ステートメント、while ステートメントなど) ) の場合、これらのコード ブロックを抽出してブロックせずに並列実行することを検討できます。
2 マルチスレッドを実装するいくつかの方法
1 つは、Thread クラスを継承して run メソッドを書き直すことです。もう 1 つは、Thread クラスを継承して run メソッドを書き換える方法です。1 つ目は、Runnable インターフェイスを実装して run メソッドを書き換える方法です。
現時点では、マルチスレッドの起動は、同時プロセスを処理するためによく使用されます。高いリアルタイム パフォーマンスを必要としないビジネス ニーズがある場合は、非同期実装も可能です。
3. 例
スレッドの継承
/** * * @ClassName: ThreadByEx * @Description: TODO * @author Mr.jqCheng * @date 2018年9月26日 * */public class ThreadByEx extends Thread{ @Override public void run() { // TODO Auto-generated method stub System.out.println("我是继承线程"); } }
実行可能ファイルの実装
/** * * @ClassName: ThreadByRunnable * @Description: TODO * @author Mr.jqCheng * @date 2018年9月26日 * */public class ThreadByRunnable implements Runnable{ /*public ThreadByRunnable() { this.run(); // TODO Auto-generated constructor stub }*/ public void run() { // TODO Auto-generated method stub System.out.println("我是实现进程"); } }
テスト:
/** * * @ClassName: Test * @Description: TODO * @author Mr.jqCheng * @date 2018年9月26日 * */public class Test { public static void main(String[] args) { // 继承Thread启动的方法 ThreadByEx t1 = new ThreadByEx(); t1.start();// 启动线程 // 实现Runnable启动线程的方法 ThreadByRunnable r = new ThreadByRunnable(); Thread t2 = new Thread(r); t2.start();// 启动线程 //new ThreadByRunnable(); } }
実行結果:
# #私は継承されたスレッドです私は実装プロセスです
package com.orange.util; /** * * @ClassName: Test * @Description: TODO * @author Mr.jqCheng * @date 2018年9月26日 * */ public class Test { public static void main(String[] args) { Thread deamon2 = new Thread(new DaemonRunner2(), "otherRunner"); deamon2.start();// 启动线程 try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Thread deamon = new Thread(new DaemonRunner(), "DaemonRunner"); // 设置为守护线程 deamon.setDaemon(true); deamon.start();// 启动线程 } static class DaemonRunner implements Runnable { public void run() { // TODO Auto-generated method stub try { Thread.sleep(300); Thread t = Thread.currentThread(); System.out.println(t); } catch (Exception e) { e.printStackTrace(); } finally { System.out.println("进入守护线程,说明现在还有其他线程在执行"); } } } static class DaemonRunner2 implements Runnable { public void run() { // TODO Auto-generated method stub try { Thread.sleep(1500); System.out.println("我是其他线程"); } catch (Exception e) { e.printStackTrace(); } } } }実行結果:Thread[DaemonRunner,5,main]
デーモンスレッドを入力し、実行中の他のスレッドがあることを示します
I am other thread
デーモン スレッドを入力します。これは、現在実行中の他のスレッドがあることを示します。
私は別のスレッドです
以上がJava マルチスレッド プログラミング方法の概要 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。