Javaマルチスレッドプログラムの例
説明:mainはスレッドを表しています。これはメインスレッドです。ThreadまたはRunableインターフェースを継承するクラスをスレッドクラスといい、スレッドクラス内部のrunメソッドはユーザが実行するタスクであり、スレッド体といいます。スレッド体は開発者自身が実現する必要があります。
package com.boonya.base;
/* */
public class MultipleThread {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
System.out.println(" ");
ThreadUseExtendsThread thread1=new ThreadUseExtendsThread(); // 1
Thread thread2=new Thread(new ThreadUseRunable(), "thread2"); // 2
thread1.start();
thread1.setPriority(6); // 6
try {
System.out.println(" 5 .......");
Thread.sleep(5000); // 5
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(" ");
if(thread1.isAlive()){
thread1.stop();
System.out.println("thread1 , thread1");
}else{
System.out.println(" thread1,thread1 ");
thread2.start(); // 2
}
try {
System.out.println(" 3 ......");
Thread.sleep(3000); // 3
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(" ");
if(thread2.isAlive()){
thread2.stop();
System.out.println("thread2 , thread2");
}else{
System.out.println(" thread2,thread2 ");
System.out.println(" ");
}
}
}
/* :---《 1》-------*/
class ThreadUseExtendsThread extends Thread{
public ThreadUseExtendsThread(){}
@Override
public void run() {
System.out.println("--------- Thread -------------");
System.out.println(" 5 ");
System.out.println(" , , ");
try {
System.out.println(" 5 ......");
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
/* :---《 2》-------*/
class ThreadUseRunable implements Runnable{
public ThreadUseRunable(){}
@Override
public void run() {
System.out.println("--------- Thread Runable -------------");
System.out.println(" 1 ");
System.out.println(" , , ");
try {
System.out.println(" 1 .......");
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}