CodeGym /ื‘ืœื•ื’ Java /Random-HE /ืจื™ื‘ื•ื™ ื”ืฉืจืฉื•ืจื™ื ื‘-Java
John Squirrels
ืจึธืžึธื”
San Francisco

ืจื™ื‘ื•ื™ ื”ืฉืจืฉื•ืจื™ื ื‘-Java

ืคื•ืจืกื ื‘ืงื‘ื•ืฆื”
ื”ื™ื™! ืงื•ื“ื ื›ืœ, ืžื–ืœ ื˜ื•ื‘: ื”ื’ืขืชื ืœื ื•ืฉื Multithreading ื‘ื’'ืื•ื•ื”! ื–ื” ื”ื™ืฉื’ ืจืฆื™ื ื™ - ืขื‘ืจืช ื›ื‘ืจืช ื“ืจืš. ืื‘ืœ ื”ื›ื™ื ื• ืืช ืขืฆืžื›ื: ื–ื” ืื—ื“ ื”ื ื•ืฉืื™ื ื”ืงืฉื™ื ื‘ืงื•ืจืก. ื•ื–ื” ืœื ืฉืื ื—ื ื• ืžืฉืชืžืฉื™ื ื›ืืŸ ื‘ืžื—ืœืงื•ืช ืžื•ืจื›ื‘ื•ืช ืื• ื‘ื”ืจื‘ื” ืžืชื•ื“ื•ืช: ืœืžืขืฉื”, ื ืฉืชืžืฉ ื‘ืคื—ื•ืช ืžืขืฉืจื™ื. ื–ื” ื™ื•ืชืจ ืฉืชืฆื˜ืจืš ืœืฉื ื•ืช ืžืขื˜ ืืช ืื•ืคืŸ ื”ื—ืฉื™ื‘ื” ืฉืœืš. ื‘ืขื‘ืจ, ื”ืชื•ื›ื ื™ื•ืช ืฉืœืš ื‘ื•ืฆืขื• ื‘ืจืฆืฃ. ื›ืžื” ืฉื•ืจื•ืช ืงื•ื“ ื‘ืื• ืื—ืจื™ ืื—ืจื•ืช, ื›ืžื” ืฉื™ื˜ื•ืช ื‘ืื• ืื—ืจื™ ืื—ืจื•ืช, ื•ื”ื›ืœ ื”ื™ื” ื‘ืจื•ืจ ื‘ืขืฆื. ืจืืฉื™ืช, ื—ื™ืฉื‘ื ื• ืžืฉื”ื•, ื•ืื– ื”ืฆื’ื ื• ืืช ื”ืชื•ืฆืื” ื‘ืžืกื•ืฃ, ื•ืื– ื”ืชื•ื›ื ื™ืช ื”ืกืชื™ื™ืžื”. ื›ื“ื™ ืœื”ื‘ื™ืŸ ืจื™ื‘ื•ื™ ืฉืจืฉื•ืจื™ื, ืขื“ื™ืฃ ืœื—ืฉื•ื‘ ื‘ืžื•ื ื—ื™ื ืฉืœ ืžืงื‘ื™ืœื™ื•ืช. ื ืชื—ื™ืœ ื‘ืžืฉื”ื• ื“ื™ ืคืฉื•ื˜ :) ื“ืžื™ื™ื ื• ืฉื”ืžืฉืคื—ื” ืฉืœื›ื ืขื•ื‘ืจืช ืžื‘ื™ืช ืื—ื“ ืœืžืฉื ื”ื•. ืื™ืกื•ืฃ ื›ืœ ื”ืกืคืจื™ื ืฉืœืš ื™ื”ื™ื” ื—ืœืง ื—ืฉื•ื‘ ืžื”ืžื”ืœืš. ืฆื‘ืจืช ื”ืžื•ืŸ ืกืคืจื™ื, ื•ืืชื” ืฆืจื™ืš ืœืฉื™ื ืื•ืชื ื‘ืงื•ืคืกืื•ืช. ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, ืืชื” ื”ื™ื—ื™ื“ ืฉื–ืžื™ืŸ. ืืžื ืžื›ื™ื ื” ืื•ื›ืœ, ืื— ืื•ืจื– ื‘ื’ื“ื™ื, ื•ืื—ื•ืชื™ ื”ืœื›ื” ืœื—ื ื•ืช. ืœื‘ื“, ืืชื” ื™ื›ื•ืœ ืœื”ืกืชื“ืจ ืื™ื›ืฉื”ื•. ื‘ืžื•ืงื“ื ืื• ื‘ืžืื•ื—ืจ, ืืชื” ืชืกื™ื™ื ืืช ื”ืžืฉื™ืžื” ื‘ืขืฆืžืš, ืื‘ืœ ื–ื” ื™ื™ืงื— ื”ืจื‘ื” ื–ืžืŸ. ืขื ื–ืืช, ืื—ื•ืชืš ืชื—ื–ื•ืจ ืžื”ื—ื ื•ืช ืชื•ืš 20 ื“ืงื•ืช, ื•ืื™ืŸ ืœื” ืžื” ืœืขืฉื•ืช. ืื– ื”ื™ื ืชื•ื›ืœ ืœื”ืฆื˜ืจืฃ ืืœื™ืš. ื”ืžืฉื™ืžื” ืœื ื”ืฉืชื ืชื”: ื”ื›ื ื™ืกื• ืกืคืจื™ื ืœืงื•ืคืกืื•ืช. ืื‘ืœ ื–ื” ืžื‘ื•ืฆืข ืคื™ ืฉื ื™ื™ื ืžื”ืจ ื™ื•ืชืจ. ืœืžื”? ื›ื™ ื”ืขื‘ื•ื“ื” ืžืชืจื—ืฉืช ื‘ืžืงื‘ื™ืœ. ืฉื ื™ 'ื—ื•ื˜ื™ื' ืฉื•ื ื™ื (ืืชื” ื•ืื—ื•ืชืš) ืžื‘ืฆืขื™ื ืืช ืื•ืชื” ืžืฉื™ืžื” ื‘ื• ื–ืžื ื™ืช. ื•ืื ืฉื•ื ื“ื‘ืจ ืœื ื™ืฉืชื ื”, ืื– ื™ื”ื™ื” ื”ื‘ื“ืœ ื–ืžืŸ ืขืฆื•ื ืœืขื•ืžืช ื”ืžืฆื‘ ืฉื‘ื• ืืชื” ืขื•ืฉื” ื”ื›ืœ ืœื‘ื“. ืื ืื— ื™ืกื™ื™ื ืืช ืขื‘ื•ื“ืชื• ื‘ืงืจื•ื‘, ื”ื•ื ื™ื›ื•ืœ ืœืขื–ื•ืจ ืœืš ื•ื”ื“ื‘ืจื™ื ื™ืœื›ื• ืืคื™ืœื• ื™ื•ืชืจ ืžื”ืจ.

ื‘ืขื™ื•ืช ื ืคืชืจื•ืช ืขืœ ื™ื“ื™ ืจื™ื‘ื•ื™ ืคืชื™ืœื™ื

ืจื™ื‘ื•ื™ ื”ื”ืœื™ื›ื™ื ื”ื•ืžืฆื ืœืžืขืฉื” ื›ื“ื™ ืœื”ืฉื™ื’ ืฉืชื™ ืžื˜ืจื•ืช ื—ืฉื•ื‘ื•ืช:
  1. ืขืฉื” ื›ืžื” ื“ื‘ืจื™ื ื‘ืžืงื‘ื™ืœ.

    ื‘ื“ื•ื’ืžื” ืœืžืขืœื”, ื—ื•ื˜ื™ื ืฉื•ื ื™ื (ื‘ื ื™ ืžืฉืคื—ื”) ื‘ื™ืฆืขื• ืžืกืคืจ ืคืขื•ืœื•ืช ื‘ืžืงื‘ื™ืœ: ื”ื ืฉื˜ืคื• ื›ืœื™ื, ื”ืœื›ื• ืœื—ื ื•ืช ื•ืืจื–ื• ื“ื‘ืจื™ื.

    ืื ื• ื™ื›ื•ืœื™ื ืœื”ืฆื™ืข ื“ื•ื’ืžื” ื”ืงืฉื•ืจื” ื™ื•ืชืจ ืœืชื›ื ื•ืช. ื ื ื™ื— ืฉื™ืฉ ืœืš ืชื•ื›ื ื™ืช ืขื ืžืžืฉืง ืžืฉืชืžืฉ. ื›ืืฉืจ ืืชื” ืœื•ื—ืฅ ืขืœ 'ื”ืžืฉืš' ื‘ืชื•ื›ื ื™ืช, ื›ืžื” ื—ื™ืฉื•ื‘ื™ื ืืžื•ืจื™ื ืœื”ืชืจื—ืฉ ื•ื”ืžืฉืชืžืฉ ืืžื•ืจ ืœืจืื•ืช ืืช ื”ืžืกืš ื”ื‘ื. ืื ืคืขื•ืœื•ืช ืืœื• ื‘ื•ืฆืขื• ื‘ืจืฆืฃ, ื”ืชื•ื›ื ื™ืช ืคืฉื•ื˜ ืชืชืงืข ืœืื—ืจ ืฉื”ืžืฉืชืžืฉ ื™ืœื—ืฅ ืขืœ ื›ืคืชื•ืจ 'ื”ืžืฉืš'. ื”ืžืฉืชืžืฉ ื™ืจืื” ืืช ื”ืžืกืš ืขื ืžืกืš ื›ืคืชื•ืจ 'ื”ืžืฉืš' ืขื“ ืฉื”ืชื•ื›ื ื” ืชื‘ืฆืข ืืช ื›ืœ ื”ื—ื™ืฉื•ื‘ื™ื ื”ืคื ื™ืžื™ื™ื ื•ืชื’ื™ืข ืœื—ืœืง ื‘ื• ืžืžืฉืง ื”ืžืฉืชืžืฉ ืžืชืจืขื ืŸ.

    ื•ื‘ื›ืŸ, ืื ื™ ืžื ื™ื— ืฉื ื—ื›ื” ื›ืžื” ื“ืงื•ืช!

    ืจื™ื‘ื•ื™ ืฉืจืฉื•ืจื™ื ื‘ื’'ืื•ื•ื”: ืžื” ื–ื”, ื”ื™ืชืจื•ื ื•ืช ืฉืœื• ื•ื”ืžืœื›ื•ื“ื•ืช ื”ื ืคื•ืฆื•ืช - 3

    ืื• ืฉื ื•ื›ืœ ืœืขื‘ื“ ืืช ื”ืชื•ื›ื ื™ืช ืฉืœื ื• ืžื—ื“ืฉ, ืื•, ื›ืคื™ ืฉืื•ืžืจื™ื ืžืชื›ื ืชื™ื, 'ืœืขืฉื•ืช ื‘ืžืงื‘ื™ืœ' ืื•ืชื”. ื‘ื•ืื• ื ืขืจื•ืš ืืช ื”ื—ื™ืฉื•ื‘ื™ื ืฉืœื ื• ืขืœ ืฉืจืฉื•ืจ ืื—ื“ ื•ื ืฆื™ื™ืจ ืืช ืžืžืฉืง ื”ืžืฉืชืžืฉ ืขืœ ืื—ืจ. ืœืจื•ื‘ ื”ืžื—ืฉื‘ื™ื ื™ืฉ ืžืกืคื™ืง ืžืฉืื‘ื™ื ืœืขืฉื•ืช ื–ืืช. ืื ื ืœืš ื‘ื“ืจืš ื–ื•, ื”ืชื•ื›ื ื™ืช ืœื ืชืงืคื ื•ื”ืžืฉืชืžืฉ ื™ืขื‘ื•ืจ ื‘ืฆื•ืจื” ื—ืœืงื” ื‘ื™ืŸ ื”ืžืกื›ื™ื ืžื‘ืœื™ ืœื“ืื•ื’ ืœืžื” ืฉืงื•ืจื” ื‘ืคื ื™ื. ืื—ื“ ืœื ืžืคืจื™ืข ืœืฉื ื™ :)

  2. ื‘ืฆืข ื—ื™ืฉื•ื‘ื™ื ืžื”ืจ ื™ื•ืชืจ.

    ื”ื›ืœ ื”ืจื‘ื” ื™ื•ืชืจ ืคืฉื•ื˜ ื›ืืŸ. ืื ืœืžืขื‘ื“ ืฉืœื ื• ื™ืฉ ืžืกืคืจ ืœื™ื‘ื•ืช, ื•ืœืจื•ื‘ ื”ืžืขื‘ื“ื™ื ื›ื™ื•ื ื™ืฉ, ืื– ื›ืžื” ืœื™ื‘ื•ืช ื™ื›ื•ืœื•ืช ืœื”ืชืžื•ื“ื“ ืขื ืจืฉื™ืžืช ื”ืžืฉื™ืžื•ืช ืฉืœื ื• ื‘ืžืงื‘ื™ืœ. ื‘ืจื•ืจ ืฉืื ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื‘ืฆืข 1000 ืžืฉื™ืžื•ืช ื•ื›ืœ ืื—ืช ืœื•ืงื—ืช ืฉื ื™ื™ื” ืื—ืช, ืœื™ื‘ื” ืื—ืช ื™ื›ื•ืœื” ืœืกื™ื™ื ืืช ื”ืจืฉื™ืžื” ืชื•ืš 1000 ืฉื ื™ื•ืช, ืฉืชื™ ืœื™ื‘ื•ืช ืชื•ืš 500 ืฉื ื™ื•ืช, ืฉืœื•ืฉ ื‘ืงืฆืช ื™ื•ืชืจ ืž-333 ืฉื ื™ื•ืช ื•ื›ื•'.

ืื‘ืœ ื›ืคื™ ืฉื›ื‘ืจ ืงืจืืชื ื‘ืฉื™ืขื•ืจ ื”ื–ื”, ื”ืžืขืจื›ื•ืช ืฉืœ ื”ื™ื•ื ืžืื•ื“ ื—ื›ืžื•ืช, ื•ืืคื™ืœื• ื‘ืœื™ื‘ืช ืžื—ืฉื•ื‘ ืื—ืช ืžืกื•ื’ืœื•ืช ืœื”ืฉื™ื’ ืžืงื‘ื™ืœื™ื•ืช, ืื• ืœื™ืชืจ ื“ื™ื•ืง ืคืกืื•ื“ื•-ืžืงื‘ื™ืœื•ืช, ืฉื‘ื” ืžืฉื™ืžื•ืช ืžื‘ื•ืฆืขื•ืช ืœืกื™ืจื•ื’ื™ืŸ. ื‘ื•ืื• ื ืขื‘ื™ืจ ื›ืœืœื™ื•ืช ืœืคืจื˜ื™ื ื•ื ื›ื™ืจ ืืช ื”ืžื—ืœืงื” ื”ื—ืฉื•ื‘ื” ื‘ื™ื•ืชืจ ื‘ืกืคืจื™ื™ืช ืจื™ื‘ื•ื™ ื”ื”ืœื™ื›ื™ื ืฉืœ Java - java.lang.Thread. ื‘ืื•ืคืŸ ืงืคื“ื ื™, ืฉืจืฉื•ืจื™ Java ืžื™ื•ืฆื’ื™ื ืขืœ ื™ื“ื™ ืžื•ืคืขื™ื ืฉืœ ื”ืžื—ืœืงื” Thread . ื–ื” ืื•ืžืจ ืฉื›ื“ื™ ืœื™ืฆื•ืจ ื•ืœื”ืคืขื™ืœ 10 ืฉืจืฉื•ืจื™ื, ืืชื” ืฆืจื™ืš 10 ืžื•ืคืขื™ื ืฉืœ ื”ืžื—ืœืงื” ื”ื–ื•. ื‘ื•ื ื ื›ืชื•ื‘ ืืช ื”ื“ื•ื’ืžื” ื”ืคืฉื•ื˜ื” ื‘ื™ื•ืชืจ:
public class MyFirstThread extends Thread {

   @Override
   public void run() {
       System.out.println("I'm Thread! My name is " + getName());
   }
}
ื›ื“ื™ ืœื™ืฆื•ืจ ื•ืœื”ืจื™ืฅ ืฉืจืฉื•ืจื™ื, ืขืœื™ื ื• ืœื™ืฆื•ืจ ืžื—ืœืงื”, ืœื’ืจื•ื ืœื” ืœืจืฉืช ืืช ื”- java.lang . ืžื—ืœืงืช ืฉืจืฉื•ืจ , ื•ื“ืจื•ืก ืืช ืฉื™ื˜ืช run() ืฉืœื” . ื”ื“ืจื™ืฉื” ื”ืื—ืจื•ื ื” ื—ืฉื•ื‘ื” ืžืื•ื“. ื‘ืฉื™ื˜ืช run() ืื ื• ืžื’ื“ื™ืจื™ื ืืช ื”ื”ื™ื’ื™ื•ืŸ ืœื‘ื™ืฆื•ืข ื”ืฉืจืฉื•ืจ ืฉืœื ื•. ื›ืขืช, ืื ื ื™ืฆื•ืจ ื•ื ืคืขื™ืœ ืžื•ืคืข ืฉืœ MyFirstThread , ื”ืฉื™ื˜ื” run() ืชืฆื™ื’ ืฉื•ืจื” ืขื ืฉื: ื”ืฉื™ื˜ื” getName() ืžืฆื™ื’ื” ืืช ืฉื ื”-'system' ืฉืœ ื”ืฉืจืฉื•ืจ, ื”ืžื•ืงืฆื” ืื•ื˜ื•ืžื˜ื™ืช. ืื‘ืœ ืœืžื” ืื ื—ื ื• ืžื“ื‘ืจื™ื ื‘ื”ื™ืกื•ืก? ื‘ื•ืื• ืœื™ืฆื•ืจ ืื—ื“ ื•ืœื’ืœื•ืช!
public class Main {

   public static void main(String[] args) {

       for (int i = 0; i < 10; i++) {

           MyFirstThread thread = new MyFirstThread();
           thread.start();
       }
   }
}
ืคืœื˜ ืžืกื•ืฃ: ืื ื™ ืฉืจืฉื•ืจ! ืฉืžื™ ื”ื•ื Thread-2 I'm Thread! ืฉืžื™ ื”ื•ื ืฉืจืฉื•ืจ-1 ืื ื™ ื—ื•ื˜! ืฉืžื™ ื”ื•ื Thread-0 I'm Thread! ืฉืžื™ ื”ื•ื Thread-3 I'm Thread! ืฉืžื™ ื”ื•ื Thread-6 I'm Thread! ืฉืžื™ ื”ื•ื Thread-7 I'm Thread! ืฉืžื™ ื”ื•ื Thread-4 I'm Thread! ืฉืžื™ ื”ื•ื Thread-5 I'm Thread! ืฉืžื™ ื”ื•ื Thread-9 I'm Thread! ืฉืžื™ Thread-8 ื‘ื•ืื• ื ื™ืฆื•ืจ 10 ืฉืจืฉื•ืจื™ื ( MyFirstThread objects, ืฉื™ื•ืจืฉื™ื ืืช Thread ) ื•ื ืชื—ื™ืœ ืื•ืชื ืขืœ ื™ื“ื™ ืงืจื™ืื” ืœืžืชื•ื“ื” start() ื‘ื›ืœ ืื•ื‘ื™ื™ืงื˜. ืœืื—ืจ ืงืจื™ืื” ืœืžืชื•ื“ื” start() , ื”ื”ื™ื’ื™ื•ืŸ ื‘ืฉื™ื˜ืช run() ืžื‘ื•ืฆืข. ื”ืขืจื”: ืฉืžื•ืช ื”ืฉืจืฉื•ืจ ืื™ื ื ืžืกื•ื“ืจื™ื. ื–ื” ืžื•ื–ืจ ืฉื”ื ืœื ื”ื™ื• ื‘ืจืฆืฃ: Thread-0 , Thread-1 , Thread-2 , ื•ื›ืŸ ื”ืœืื”? ื›ืคื™ ืฉื–ื” ืงื•ืจื”, ื–ื• ื“ื•ื’ืžื” ืœืชืงื•ืคื” ืฉื‘ื” ื—ืฉื™ื‘ื” 'ืจืฆื™ืคื”' ืื™ื ื” ืžืชืื™ืžื”. ื”ื‘ืขื™ื” ื”ื™ื ืฉืกื™ืคืงื ื• ืจืง ืคืงื•ื“ื•ืช ืœื™ืฆื™ืจื” ื•ื”ืจืฆื” ืฉืœ 10 ืฉืจืฉื•ืจื™ื. ืžืชื–ืžืŸ ื”ืฉืจืฉื•ืจ, ืžื ื’ื ื•ืŸ ืžื™ื•ื—ื“ ืฉืœ ืžืขืจื›ืช ื”ืคืขืœื”, ืžื—ืœื™ื˜ ืืช ืกื“ืจ ื”ื‘ื™ืฆื•ืข ืฉืœื”ื. ื”ืขื™ืฆื•ื‘ ื”ืžื“ื•ื™ืง ืฉืœื• ื•ืืกื˜ืจื˜ื’ื™ื™ืช ืงื‘ืœืช ื”ื”ื—ืœื˜ื•ืช ื”ื ื ื•ืฉืื™ื ืœื“ื™ื•ืŸ ืขืžื•ืง ืฉืœื ื ืฆืœื•ืœ ืืœื™ื• ื›ืจื’ืข. ื”ื“ื‘ืจ ื”ืขื™ืงืจื™ ืฉื™ืฉ ืœื–ื›ื•ืจ ื”ื•ื ืฉื”ืžืชื›ื ืช ืœื ื™ื›ื•ืœ ืœืฉืœื•ื˜ ื‘ืกื“ืจ ื”ื‘ื™ืฆื•ืข ืฉืœ ืฉืจืฉื•ืจื™ื. ื›ื“ื™ ืœื”ื‘ื™ืŸ ืืช ื—ื•ืžืจืช ื”ืžืฆื‘, ื ืกื” ืœื”ืคืขื™ืœ ืืช ืฉื™ื˜ืช main() ื‘ื“ื•ื’ืžื” ืœืžืขืœื” ืขื•ื“ ื›ืžื” ืคืขืžื™ื. ืคืœื˜ ืžืกื•ืฃ ื‘ืจื™ืฆื” ืฉื ื™ื™ื”: ืื ื™ ืฉืจืฉื•ืจ! ืฉืžื™ ื”ื•ื Thread-0 I'm Thread! ืฉืžื™ ื”ื•ื Thread-4 I'm Thread! ืฉืžื™ ื”ื•ื Thread-3 I'm Thread! ืฉืžื™ ื”ื•ื Thread-2 I'm Thread! ืฉืžื™ ื”ื•ื ืฉืจืฉื•ืจ-1 ืื ื™ ื—ื•ื˜! ืฉืžื™ ื”ื•ื Thread-5 I'm Thread! ืฉืžื™ ื”ื•ื Thread-6 I'm Thread! ืฉืžื™ ื”ื•ื Thread-8 I'm Thread! ืฉืžื™ ื”ื•ื Thread-9 I'm Thread! ืฉืžื™ ื”ื•ื Thread-7 Console ืคืœื˜ ืžื”ืจื™ืฆื” ื”ืฉืœื™ืฉื™ืช: I'm Thread! ืฉืžื™ ื”ื•ื Thread-0 I'm Thread! ืฉืžื™ ื”ื•ื Thread-3 I'm Thread! ืฉืžื™ ื”ื•ื ืฉืจืฉื•ืจ-1 ืื ื™ ื—ื•ื˜! ืฉืžื™ ื”ื•ื Thread-2 I'm Thread! ืฉืžื™ ื”ื•ื Thread-6 I'm Thread! ืฉืžื™ ื”ื•ื Thread-4 I'm Thread! ืฉืžื™ ื”ื•ื Thread-9 I'm Thread! ืฉืžื™ ื”ื•ื Thread-5 I'm Thread! ืฉืžื™ ื”ื•ื Thread-7 I'm Thread! ืฉืžื™ ื”ื•ื Thread-8

ื‘ืขื™ื•ืช ืฉื ื•ืฆืจื• ืขืœ ื™ื“ื™ ืจื™ื‘ื•ื™ ืฉืจืฉื•ืจื™ื

ื‘ื“ื•ื’ืžื” ืฉืœื ื• ืขื ืกืคืจื™ื, ืจืื™ืช ืฉ-multithreading ืคื•ืชืจ ืžืฉื™ืžื•ืช ื—ืฉื•ื‘ื•ืช ืžืื•ื“ ื•ื™ื›ื•ืœ ืœื”ืคื•ืš ืืช ื”ืชื•ื›ื ื™ื•ืช ืฉืœื ื• ืœืžื”ื™ืจื•ืช ื™ื•ืชืจ. ื”ืจื‘ื” ืคืขืžื™ื ืžื”ืจ ื™ื•ืชืจ. ืื‘ืœ ืจื™ื‘ื•ื™ ืฉืจืฉื•ืจื™ื ื ื—ืฉื‘ ืœื ื•ืฉื ืงืฉื”. ื•ืื›ืŸ, ืื ืžืฉืชืžืฉื™ื ื‘ื• ื‘ืฆื•ืจื” ืœื ื ื›ื•ื ื”, ื–ื” ื™ื•ืฆืจ ื‘ืขื™ื•ืช ื‘ืžืงื•ื ืœืคืชื•ืจ ืื•ืชืŸ. ื›ืฉืื ื™ ืื•ืžืจ 'ื™ื•ืฆืจ ื‘ืขื™ื•ืช', ืื ื™ ืœื ืžืชื›ื•ื•ืŸ ื‘ืžื•ื‘ืŸ ืžื•ืคืฉื˜ ื›ืœืฉื”ื•. ื™ืฉื ืŸ ืฉืชื™ ื‘ืขื™ื•ืช ืกืคืฆื™ืคื™ื•ืช ืฉ-multithreading ื™ื›ื•ืœ ืœื™ืฆื•ืจ: ืžื‘ื•ื™ ืกืชื•ื ื•ืชื ืื™ ืžื™ืจื•ืฅ. ืžื‘ื•ื™ ืกืชื•ื ื”ื•ื ืžืฆื‘ ืฉื‘ื• ืฉืจืฉื•ืจื™ื ืžืจื•ื‘ื™ื ืžืžืชื™ื ื™ื ืœืžืฉืื‘ื™ื ื”ืžื•ื—ื–ืงื™ื ื–ื” ื‘ื–ื”, ื•ืืฃ ืื—ื“ ืžื”ื ืœื ื™ื›ื•ืœ ืœื”ืžืฉื™ืš ืœืจื•ืฅ. ื ื“ื‘ืจ ืขืœ ื–ื” ื™ื•ืชืจ ื‘ืฉื™ืขื•ืจื™ื ื”ื‘ืื™ื. ื”ื“ื•ื’ืžื” ื”ื‘ืื” ืชืกืคื™ืง ืœืขืช ืขืชื”: ืจื™ื‘ื•ื™ ืฉืจืฉื•ืจื™ื ื‘ื’'ืื•ื•ื”: ืžื” ื–ื”, ื”ื™ืชืจื•ื ื•ืช ืฉืœื• ื•ื”ืžืœื›ื•ื“ื•ืช ื”ื ืคื•ืฆื•ืช - 4ืชืืจื• ืœืขืฆืžื›ื ืฉ-Thread-1 ืžืงื™ื™ื ืื™ื ื˜ืจืืงืฆื™ื” ืขื ืื•ื‘ื™ื™ืงื˜-1 ื›ืœืฉื”ื•, โ€‹โ€‹ื•ืฉ-Thread-2 ืžืงื™ื™ื ืื™ื ื˜ืจืืงืฆื™ื” ืขื ืื•ื‘ื™ื™ืงื˜-2. ื™ืชืจ ืขืœ ื›ืŸ, ื”ืชื•ื›ื ื™ืช ื›ืชื•ื‘ื” ื›ืš:
  1. Thread-1 ืžืคืกื™ืง ืืช ื”ืื™ื ื˜ืจืืงืฆื™ื” ืขื Object-1 ื•ืขื•ื‘ืจ ืœ-Object-2 ื‘ืจื’ืข ืฉ-Thread-2 ืžืคืกื™ืง ืืช ื”ืื™ื ื˜ืจืืงืฆื™ื” ืขื Object-2 ื•ืขื•ื‘ืจ ืœ-Object-1.
  2. Thread-2 ืžืคืกื™ืง ืืช ื”ืื™ื ื˜ืจืืงืฆื™ื” ืขื ืื•ื‘ื™ื™ืงื˜-2 ื•ืขื•ื‘ืจ ืœ-Object-1 ื‘ืจื’ืข ืฉ-Thread-1 ืžืคืกื™ืง ืืช ื”ืื™ื ื˜ืจืืงืฆื™ื” ืขื Object-1 ื•ืขื•ื‘ืจ ืœ-Object-2.
ื’ื ืœืœื ื”ื‘ื ื” ืžืขืžื™ืงื” ืฉืœ ืจื™ื‘ื•ื™ ื”ืœื™ื›ื™ ืฉืจืฉื•ืจ, ืืชื” ื™ื›ื•ืœ ื‘ืงืœื•ืช ืœืจืื•ืช ืฉืฉื•ื ื“ื‘ืจ ืœื ื™ืงืจื”. ื”ื—ื•ื˜ื™ื ืœืขื•ืœื ืœื ื™ื—ืœื™ืคื• ืžืงื•ืžื•ืช ื•ื™ื—ื›ื• ื–ื” ืœื–ื” ืœื ืฆื—. ื”ืฉื’ื™ืื” ื ืจืื™ืช ื‘ืจื•ืจื”, ืื‘ืœ ื‘ืžืฆื™ืื•ืช ื”ื™ื ืœื. ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ื–ืืช ื‘ืงืœื•ืช ื‘ืชื•ื›ื ื™ืช. ื ืฉืงื•ืœ ื“ื•ื’ืžืื•ืช ืœืงื•ื“ ืฉื’ื•ืจื ืœืžื‘ื•ื™ ืกืชื•ื ื‘ืฉื™ืขื•ืจื™ื ื”ื‘ืื™ื. ืื’ื‘, ืœ-Quora ื™ืฉ ื“ื•ื’ืžื” ืžืฆื•ื™ื ืช ืžื”ื—ื™ื™ื ื”ืืžื™ืชื™ื™ื ืฉืžืกื‘ื™ืจื” ืžื” ื–ื” ืžื‘ื•ื™ ืกืชื•ื . ืดื‘ืžื“ื™ื ื•ืช ืžืกื•ื™ืžื•ืช ื‘ื”ื•ื“ื•, ืœื ื™ืžื›ืจื• ืœืš ืงืจืงืข ื—ืงืœืื™ืช ืืœื ืื ืืชื” ื—ืงืœืื™ ืจืฉื•ื. ืขื ื–ืืช, ื”ื ืœื ื™ืจืฉืžื• ืื•ืชืš ื›ื—ืงืœืื™ ืื ืื™ืŸ ืœืš ืงืจืงืข ื—ืงืœืื™ืช'. ื’ื“ื•ืœ! ืžื” ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ื’ื™ื“?! :) ืขื›ืฉื™ื• ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ืชื ืื™ ื”ืžื™ืจื•ืฅ. ืชื ืื™ ืžื™ืจื•ืฅ ื”ื•ื ืฉื’ื™ืืช ืชื›ื ื•ืŸ ื‘ืžืขืจื›ืช ืื• ืืคืœื™ืงืฆื™ื” ืžืจื•ื‘ื” ื”ืœื™ื›ื™, ื›ืืฉืจ ืคืขื•ืœืช ื”ืžืขืจื›ืช ืื• ื”ืืคืœื™ืงืฆื™ื” ืชืœื•ื™ื” ื‘ืกื“ืจ ื‘ื™ืฆื•ืข ื—ืœืงื™ื ืžื”ืงื•ื“. ื–ื›ื•ืจ, ื”ื“ื•ื’ืžื” ืฉืœื ื• ืฉื‘ื” ื”ืชื—ืœื ื• ืฉืจืฉื•ืจื™ื:
public class MyFirstThread extends Thread {

   @Override
   public void run() {
       System.out.println("Thread executed: " + getName());
   }
}

public class Main {

   public static void main(String[] args) {

       for (int i = 0; i < 10; i++) {

           MyFirstThread thread = new MyFirstThread();
           thread.start();
       }
   }
}
ืขื›ืฉื™ื• ื“ืžื™ื™ื ื• ืฉื”ืชื•ื›ื ื™ืช ืื—ืจืื™ืช ืœื”ืคืขืœืช ืจื•ื‘ื•ื˜ ืฉืžื‘ืฉืœ ืื•ื›ืœ! ื—ื•ื˜-0 ืžื•ืฆื™ื ื‘ื™ืฆื™ื ืžื”ืžืงืจืจ. ื—ื•ื˜-1 ืžื“ืœื™ืง ืืช ื”ื›ื™ืจื™ื™ื. ื—ื•ื˜-2 ืžืงื‘ืœ ืžื—ื‘ืช ื•ืžื ื™ื— ืื•ืชื• ืขืœ ื”ื›ื™ืจื™ื™ื. ื—ื•ื˜-3 ืžื“ืœื™ืง ืืช ื”ื›ื™ืจื™ื™ื. ื—ื•ื˜-4 ื™ื•ืฆืง ืฉืžืŸ ืœืžื—ื‘ืช. ื—ื•ื˜-5 ืฉื•ื‘ืจ ืืช ื”ื‘ื™ืฆื™ื ื•ื™ื•ืฆืง ืื•ืชืŸ ืœืžื—ื‘ืช. ื—ื•ื˜-6 ื–ื•ืจืง ืืช ืงืœื™ืคื•ืช ื”ื‘ื™ืฆื™ื ืœืคื— ื”ืืฉืคื”. ื—ื•ื˜-7 ืžื•ืฆื™ื ืืช ื”ื‘ื™ืฆื™ื ื”ืžื‘ื•ืฉืœื•ืช ืžื”ืžื‘ืขืจ. ื—ื•ื˜-8 ืžื ื™ื— ืืช ื”ื‘ื™ืฆื™ื ื”ืžื‘ื•ืฉืœื•ืช ืขืœ ืฆืœื—ืช. ื—ื•ื˜-9 ืฉื•ื˜ืฃ ืืช ื”ื›ืœื™ื. ืชืกืชื›ืœ ืขืœ ื”ืชื•ืฆืื•ืช ืฉืœ ื”ืชื•ื›ื ื™ืช ืฉืœื ื•: ืฉืจืฉื•ืจ ื”ื•ืฆื ืœืคื•ืขืœ: ืฉืจืฉื•ืจ-0 ืฉืจืฉื•ืจ ื”ื•ืฆื: ืฉืจืฉื•ืจ-2 ื”ืชื‘ืฆืข ืฉืจืฉื•ืจ-1 ืฉืจืฉื•ืจ ื”ื•ืฆื ืœืคื•ืขืœ: ืฉืจืฉื•ืจ-4 ื”ื•ืฆื ืœืคื•ืขืœ: ืฉืจืฉื•ืจ-9 ืฉืจืฉื•ืจ ื”ื•ืคืขืœ: ืฉืจืฉื•ืจ-5 ื”ืฉืจืฉื•ืจ ื”ื•ืคืขืœ: ืืฉื›ื•ืœ-8 ื”ื•ืฆื ืœื”ื•ืจื’: ืฉืจืฉื•ืจ-7 ืฉืจืฉื•ืจ ื”ื•ืฆื ืœื”ื•ืจื’: ืฉืจืฉื•ืจ-3 ื”ืื ื–ื• ืฉื’ืจืช ืงื•ืžื“ื™ื”? :) ื•ื”ื›ืœ ื‘ื’ืœืœ ืฉืขื‘ื•ื“ืช ื”ืชื•ื›ื ื™ืช ืฉืœื ื• ืชืœื•ื™ื” ื‘ืกื“ืจ ื”ื‘ื™ืฆื•ืข ืฉืœ ื”ืฉืจืฉื•ืจื™ื. ื‘ื”ืชื—ืฉื‘ ื‘ื”ืคืจื” ื”ืงื˜ื ื” ื‘ื™ื•ืชืจ ืฉืœ ื”ืจืฆืฃ ื”ื ื“ืจืฉ, ื”ืžื˜ื‘ื— ืฉืœื ื• ื”ื•ืคืš ืœื’ื™ื”ื ื•ื, ื•ืจื•ื‘ื•ื˜ ืžื˜ื•ืจืฃ ื”ื•ืจืก ืืช ื›ืœ ืžื” ืฉืžืกื‘ื™ื‘ื•. ื–ื• ื’ื ื‘ืขื™ื” ื ืคื•ืฆื” ื‘ืชื›ื ื•ืช ืžืจื•ื‘ื™-ื”ืœื™ื›ื™ื. ืืชื” ืชืฉืžืข ืขืœ ื–ื” ื™ื•ืชืจ ืžืคืขื ืื—ืช. ื‘ืกื™ื•ื ืฉื™ืขื•ืจ ื–ื”, ื‘ืจืฆื•ื ื™ ืœื”ืžืœื™ืฅ โ€‹โ€‹ืขืœ ืกืคืจ ืขืœ ืจื™ื‘ื•ื™ ืฉืจืฉื•ืจื™ื. ืจื™ื‘ื•ื™ ืฉืจืฉื•ืจื™ื ื‘ื’'ืื•ื•ื”: ืžื” ื–ื”, ื”ื™ืชืจื•ื ื•ืช ืฉืœื• ื•ื”ืžืœื›ื•ื“ื•ืช ื”ื ืคื•ืฆื•ืช - 6'Java Concurrency in Practice' ื ื›ืชื‘ ื‘-2006, ืืš ืœื ืื™ื‘ื“ ืžื”ืจืœื•ื•ื ื˜ื™ื•ืช ืฉืœื•. ื”ื•ื ืžื•ืงื“ืฉ ืœืชื›ื ื•ืช ื’'ืื•ื•ื” ืขื ืจื™ื‘ื•ื™ ื”ืœื™ื›ื™ - ืžื”ื™ืกื•ื“ื•ืช ื•ืขื“ ืœื˜ืขื•ื™ื•ืช ื•ื”ืื ื˜ื™-ื“ืคื•ืกื™ื ื”ื ืคื•ืฆื™ื ื‘ื™ื•ืชืจ. ืื ื™ื•ื ืื—ื“ ืชื—ืœื™ื˜ ืœื”ืคื•ืš ืœื’ื•ืจื• ืฉืœ ืจื™ื‘ื•ื™ ืฉืจืฉื•ืจื™ื, ืกืคืจ ื–ื” ื”ื•ื ืกืคืจ ื—ื•ื‘ื”. ื ืชืจืื” ื‘ืฉื™ืขื•ืจื™ื ื”ื‘ืื™ื! :)
ื”ืขืจื•ืช
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION