Fieds_labo3

基本-スレッド

最終更新:

fieds_labo3

- view
管理者のみ編集可

基本 スレッド


1.スレッドクラス定義
Threadクラスのサブクラスを作成。
 class Xyz extends Thread
 {
   public void run()
   {
     スレッドで行う処理;
   ]
 }

2.スレッド起動
 Xyz xyz1 = new Xyz();
 xyz1.start();

3.スレッドの一時停止
 sleep(1000);  スレッド処理に記述すると、スレッドを1秒間停止。
 Thread.sleep(1000); main()に記述すると、mainが1秒間停止。

4.スレッドの終了待ち
 xyz1.join();

5.インターフェイス実装
多重継承ができないため、Runnableインターフェイスを使う。
 class Xyz extends Abc implements Runnable
 {
   public void run()
   {
     スレッドで行う処理;
   ]
 }

6.スレッド起動2
インターフェイス実装の場合
 Xyz xyz1 = new Xyz();
 Thread th1 = new Thread(xyz1);
 th1.start();

7.同期排他
メソッドに synchronized を指定。あるスレッドが処理中は、他のスレッドはこのメソッドを利用できない。待ちキューに入る。
 public synchronized void hij(int a)
 {
   ;
 }





記事メニュー
目安箱バナー