  Java
 


           .      . Java,     ,  .       Java,     .   ,  ,     Stream.





  Java



 



 ,2021



ISBN978-5-0053-1464-2

     Ridero




 







     ,    .

        .








,          ,    ,    ,       .

     ,    .

      ,         .

 ,  ,    ,   ,   .

             ,     .

, Windows    ,           .

ȠWindows     .

 ,         .

    ,   .

  ,       ,     ,    .

 ,   ,       (     ).

 ,      ,      ,   .

 ,      .

   .

  ,    .

      .

    ,   .

  .

   ,         .

 ,  ,  ,       .

    ,        P0 P1,      ,  , T1, T2,T3.








Ƞ          .

     .

 Java      java.util.concurrent.

          .








Ƞ  Java   .

   ?

    .








   ,      , ,       .

   .

 ,   ,   ,       .

         Inter Process Communication (IPC).

IPC         ,   .

Java  IPC  ,  RMI CORBA.

     Java    .

 Java       ProcessBuilder.

  堖      .

    ,    .

  ,     .

      ,         .

      .

    ,        .

             .

     ,      ,       .

             .     .

   堖  ,     ,              .

  ,         ,  ,      .

    ,     .      ,   .

  ,   A  ,     B,  A  .

   ,           .

      堖         -   ,     蠖    .

      .

 ,      ꠖ  ,    ,    ,     .

  ,    ,   .

      .

 ,    ,   ?

 Java      Thread.

 ,   Thread,   .








 ,     Runnable.








 Runnable    run,   ,   ,  .

 ,  Runnable    Thread.

Ƞ   start.

 ,     Thread.

  Thread   Runnable,     run .

     Thread    run.

 ,      .








      ,     .

   ,    .

, ,    ,    start.

,       .

Ƞ   ,     .

    .

         .

           .

 Thread   join.

 join     ,       ,      .








 ,     .

  ,    ,     .








         .

,        .

 JVM,      ,      ⠖ ,    .

  JVM   ,    ,   .

Java       ,      .

,     t1 t2.

 ,     ,       .








 ,     ,     .

  t1     t2,   ?

       join().

     t2,      t1,    join      ,   t1.








  ,   InterruptedException.

, ,     run  MyClass      join.

    ,    ,    ,    .

  deadlock    .

   , ,  ,     sleep  Thread.

       ,       .

     InterruptedException.

 ,   ,      ,   .

,    ,         .

Ƞ,      -   ,     ,    .

,   ,     ,       .

  ,   ,  ?

     ?

    ,    09.








  ,    1    .

   ,    .

       3   .

        .

 ,    ,     1   .

    ,  .

     9.

       09.

   ,      interrupt.

 Java       .

      .

Ƞ     interrupt.

  interrupt  Thread     true.

      wait, join  sleep,      ,    InterruptedException.

 ,   taskThread   , Thread.sleep (1000)  ,  .

 InterruptedException ,       .

 ,      ,     InterruptedException.

   ,        Thread.currentThread().interrupt().








Ƞ   InterruptedException,    ,      Thread.isInterrupted().




 







,    ,      ,     ,  .

   ,  ,     .

      :     .

,       ,      .








       .

,    T1 T2,     ,     .

        ,         ,   .

     .

       .

   ,          ?

   .

Java       ,      .

     ࠖ      synchronized.

  synchronized Java :








       

  ,    ,     ,      .

          .

  , ,       ,   ,          ,       .

   ,    -        .

 ,         .

    ,              .

  ,        .

 ,   Java    .

        .

     synchronized,    ,          ,    .

    ,        .

    ,      , ,        Class,      .

 ,       ,      .           .

       synchronized     .

   ,    ,   ,      .

 ,        synchronized,              .

,    ,  ,    .

     .

      ,       . Ƞ   .

    ,    .

       .

Ӡ   ,       .

    ࠖ  .

   ,     ,    .








      ,   synchronized,  Java-    ,       synchronized.

       ,     .

     ,  synchronized,           .

  ,        this.








  ,        Class.

,      : c1 c2,    .








      ,     ,   c1   c2,    .

       this,        .

              .




  volatile







   堖  ,   .








    :    ,   .

     ,    .

,   ++,   .

   :

  .

   1.

  .

       ,     .

 ,   :

    ,    ,    long double.

  Java 64- long double     32- .

 ,  64-       32- .

Ƞ ,   long double   .

     long  double   ,    .

    long double      volatile.

    volatile,  ,      .








  JRE      volatile-,   :  volatile-  volatile- ,  ,       ?.

   ,    ,   .

      ,      .

      JRE       ,   .

              ,     .

      ,       ,       .     

     volatile, ,    ,      .

 volatile ,   long double,     ,    volatile         .

 ,   volatile      .

      .

,         .

 ,        ,   - (),           .

        .

        ,        , ,    ,    ,   ,      ,     ,      ,    ().

      volatile.




 Liveness







,       ,   LIVENESS  .

   ,  ,   ,   ,   .

 ,  , ,      .

Ƞ   .

ʠ,           .

   DEADLOCK   .

      join.








     ,    ,    .

    ,   ,     .

    .

,   T1     A    B,  T2     B     A,     .








 T1     A ,   T2    B,          .

    蠖       .

   ,  LIVELOCK   .

 livelock  ,   ,     ,     .








,    , ,    x,    .

 T1   x,    x   ,   2.

 T2    x,    x   ,   -2.

 ,    T1  x = 1,       x  x = 2,  T2  x,  ,  T1.

Ƞ x =-1.

,   T2     -2,  T1    x 1.

Ƞ .

 ,      ,    -.

    ,  STARVATION  .

Starvation ,  -          , ,      ,     .








    .

   Guarded Block








      Producer-Consumer.

    ⠖ ,   , ,  -   .




  .


   .

   ,     (https://www.litres.ru/pages/biblio_book/?art=63830168)  .

      Visa, MasterCard, Maestro,    ,   ,     ,  PayPal, WebMoney, ., QIWI ,       .


