高同時プログラミング-1

2252 ワード

コンセプト:
1-  Thread      

2-  Runable       

3-   Callable FutureTask    

        a.   Callable      ,   call()  ;

        b.   Callable      ,  FutureTask    Callable  , FutureTask      Callback   call()      ;

        c.   FutureTask    Thread   target        ;

        d.   FutureTask   get()                 。

4-         

なぜrun()ではなくstart()でスレッドを起動するのですか?
1-java     main       ,  JVM       ,      main

2-      ,    Thread  ,override run  ,    start  

3- JVM   ,        ,            

4-        start     ,         ,         (  main     ,  main  ),

          run     

5-         new,runnable,running,block,terminated.

マルチスレッドシーン
       (   )

runnableはどんなデザインモデルを採用していますか?
-    

             

threadGroup
1-      Thread,        , Thread-  , 0    

             Thread()

                :

                Thread-0

                Thread-1

                Thread-2

2-     Thread       Runnable      Thread run  , Thread         ,     Runnable  

       ,     Thread run  ,            (    )

3-            ThreadGroup,Thread         ThreadGroup      ThreadGroup,           

        threadGroup 

          :

        Thread()

        Thread(Runnable target)

        Thread(Runnable target,String name)

        Thread(String name)

        Thread(String group,Runnable target,String name,long stackSize)    

    4-  Thread     stacksize         stack  ,      stacksize   ,   0,0         ,

             JNI     

            :          ,       

5- join  

join 6-スレッドデッドロックの確認
7-ロックのカテゴリ
-this:

複数のメソッドがsynchronizedキーワードで修飾されているか、メソッドでthisを指定すると、1つのthisロックが共用されます.つまり、同じ時間にthisを使用したすべてのメソッドがシリアル実行になります.(定義されたメンバー変数はロックパラメータとしてsynchronizedに伝達されるのも同様)
-class:
  • マルチスレッドが同じクラスのクラスロック(synchronized修飾静的メソッド)とオブジェクトロック(synchronized修飾非静的メソッド)の両方に同時にアクセスする場合、クラスロックとオブジェクトロックは2つの異なるロックであるため、非同期である.
  • クラスロックは、クラスのすべてのオブジェクトに対して機能しますが、オブジェクトロックはできません.

  • 8-スレッド通信
    例:生産者消費者
    waitとsleepの違い:
    -sleep Thread ,wait Object 
    
    -sleep     ,wait    
    
    -sleep          ,wait     
    
    -sleep      ,wait     (          )