21.01.20-41日目


🚅 ねじ山


🚋 プロセスとスレッド(process&thread)


👉 プロセス:実行中のプログラム、リソース(リソース)(メモリ.CPU...)設定
👉 ねじ:プロセスで実際の操作を実行します.(プロセスごとに少なくとも1つのスレッドがあります)
👉 シングルスレッドプロセス=リソース+スレッド
👉 マルチスレッドプロセス=リソース+スレッド+スレッド+…+山紅
👉 新しいプロセスを作成するよりも、新しいスレッドを作成するコストが低くなります.

🚋 マルチスレッドのメリットとデメリット


👉メリット:
システムリソースをより効率的に使用します.
ユーザーの応答性が向上しました.
操作が分離され、コードが簡潔
👉欠点:
注同期(synchronization)、
デッドロック(dead lock)が発生しないように注意し、
飢餓問題:各スレッドが効率的かつ均一に動作することを確保

🚋 スレッドの実装と実行


継承
  • Threadクラス
  • class MyThread extends Thread{
       public void run() {  // Thread클래스의 run()을 오버라이딩
       	/* 작업내용 */
       }
    }
    MyThread t1 = new MyThread();  // 쓰레드의 생성
    t1.start(); // 쓰레드의 실행
  • 実行可能インターフェース
  • を実現する.
    class MyTread2 implements Runnable {
      public void run() {  // Runnable인터페이스의 추상메서드 run()을 구현
      	/* 작업내용 */
      }
    }
    Runnable r = new MyThread2();
    Thread t2 = new Thread(r);  // Thread(Runnable r)
    // 한줄로하면 Thread t2 = new Thread(new MyThread2));
    t2.start();

    🚋 スレッド-start()の実行

  • スレッドを作成した後、
  • 操作を開始するにはstart()を呼び出す必要があります.
    ThreadEx1_1 t1 = new ThreadEx1_1();
    ThreadEx1_1 t2 = new ThreadEx1_1();
    .
    t1.start();
    t2.start();

    🚋 モノフィラメント&マルチフィラメント


    🚃 モノレッド

    class ThreadTest {
    	public static void main(String[] args) {
    		for(int i=0; i< 300; i++)
    		System.out.print(new String("-"));
    	}
        		for(int i=0; i< 300; i++)
    		System.out.print(new String("|"));
          }
       }
    }

    🚃 マルチスレッド

    public class ThreadTest {
        public static void main(String[] args) {
    	ThreadEx1 th1 = new ThreadEx1();
    	ThreadEx2 th2 = new ThreadEx2();
    .
    	th1.start();
    	th2.start();
        }
    }
    class ThreadEx1 extends Thread {
    	public void run() {
    		for(int i=0; i< 300; i++)
    		System.out.print(new String("-"));
        } 
      }
    }
    class ThreadEx1 extends Thread {
    	public void run() {
    		for(int i=0; i< 300; i++)
    		System.out.print(new String("|"));
        } 
      }
    }

    🚋 スレッド優先度

  • ジョブの重要度に応じて、スレッドの優先度を異なり、特定のスレッドにより多くの作業時間を持たせることができる.
  • 優先度が同じ
  • A優先度が高い
  • 🚋 第3グループ

  • は、相互に関連する主題
  • をパケット処理するために使用される.
  • すべてのスレッドは、1つのスレッドグループに含まれる必要があります.
  • ねじセットを指定せずに生成されたねじはmainねじセットに属します.
  • を継承して自分のThreed(親Threed)を生成するグループと優先度.
  • 🚋 ねじ組の方法



    🚋 ソース


    JAvaの定式書&youtube