高度なjava Threadを作成する方法
8469 ワード
process
これをThread(Thread)
Multi Process
Multi Tasking
Thread
Thread特性
single Thread Program
デフォルトでは、
Multi Thread Program
Threadの作成
作成方法
方法Thread Class継承
1.Threadクラスを継承するクラスインスタンスを作成します.
2.このインスタンスを呼び出すstart()メソッド
// Thread클래스 상속받는 class MyThread1
class MyThread1 extends Thread{
// run()메서드 오버라이딩
@override
public void run(){
...
}
}
// Thread 객체 생성
MyThread1 th = new MyThread1();
th1.start();
方法Runnable実装クラス
Threadクラスは継承できません=>Runnableインタフェース実装
1.Runnableインタフェースを実装したクラスのインスタンスを作成します.
2.この例を
3.Threadオブジェクトのインスタンスを作成するときに作成者に渡すパラメータ
4.Threadオブジェクトインスタンスを呼び出すstart()メソッド
class MyThread2 implements Runnable{
public void run() {
...
}
}
MyThread2 run = new MyThread2();
Thread th2 = new Thread(run);
th2.start();
方法匿名クラス
欠点は、毎回
Thread th3 = new Thread(new Runnable() {
@override
public void run(){
...
}
});
th3.start();
Thread状態
(ロック解除待ち)
TIMED WAITING:一時停止時間が指定されている場合は
Thread.State state = targerThread.getState();
// State : Thread클래스의 enum 상수
優先度
Thread.MAX PRORITY:最大優先度=10
Thread.MIN PRORITY:最低優先度=1
Thread.NORM PRORITY:一般優先度=5
Thread th = new Thread();
th.setPriority(10);
th.start();
Threae 클래스 상수 사용하는 경우
th.setPriority(Thread.MAX_PRIORITY);
th.start();
Daemon Thread
作成方法
Reference
この問題について(高度なjava Threadを作成する方法), 我々は、より多くの情報をここで見つけました https://velog.io/@oungoo/고급자바Threadテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol