рдереНрд░реЗрдбрдкреВрд▓ рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯрд░ - 1

"рд╕рд╛рдзрд╛рд░рдг рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЗрд╕ рддрдереНрдп рд╕реЗ рдкрдХрдбрд╝ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдХрдИ рдЫреЛрдЯреЗ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдордп-рд╕рдордп рдкрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред"

"рдпрджрд┐ рдЖрдк рдПрдХ рдЦреЗрд▓ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╡рд╣ рдХрд╛рд░реНрдп рд╣реИ рдЬреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд░реНрдг рдХрд░рддреЗ рд╣реИрдВред"

"рдпрджрд┐ рдЖрдк рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдЖрджреЗрд╢ рд╣реИрдВ: рдПрдХ рдлреЛрдЯреЛ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ, рдЗрд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдХреЛрдб рдХрд░реЗрдВ, рд╡рд╛рдВрдЫрд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рдЖрджрд┐ред"

"рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ, рд╕рднреА рдмрдбрд╝реЗ рдХрд╛рд░реНрдп рдЫреЛрдЯреЗ, рдкреНрд░рдмрдВрдзрдиреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдореЗрдВ рдЯреВрдЯ рдЬрд╛рддреЗ рд╣реИрдВред"

"рддреЛ, рдЗрд╕ рд╕рдВрджрд░реНрдн рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдПрдХ рд╕реВрдХреНрд╖реНрдо рдкреНрд░рд╢реНрди рдЙрдарддрд╛ рд╣реИ: рдЖрдк рдЙрди рд╕рднреА рдХреЛ рдХреИрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ? рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдорд┐рдирдЯ рдореЗрдВ рдХрдИ рд╕реМ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдереНрд░реЗрдб рдмрдирд╛рдиреЗ рд╕реЗ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЬрд╛рд╡рд╛ рдорд╢реАрди рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рдВрд╕рд╛рдзрди рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИред"

"рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдереНрд░реЗрдб рдмрдирд╛рдиреЗ рдФрд░ рдирд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рд░реНрдп рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдФрд░ рд╕рдВрд╕рд╛рдзрди рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВред"

"рдЬрд╛рд╡рд╛ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╕реБрдВрджрд░ рд╕рдорд╛рдзрд╛рди рд▓реЗрдХрд░ рдЖрдП: рдереНрд░реЗрдбрдкреВрд▓ рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯрд░ ред

" ThreadPoolExecutor рдПрдХ рд╡рд░реНрдЧ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рджреЛ рдЪреАрдЬреЗрдВ рд╣реИрдВ:"

рдП)  рдПрдХ рдХрд╛рд░реНрдп рдХрддрд╛рд░, рдЬрд┐рд╕реЗ рдЖрдк рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рдкрд░ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдмреА) рдПрдХ рдереНрд░реЗрдб рдкреВрд▓, рдЬреЛ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдереНрд░реЗрдбреНрд╕ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИред

"рдХреНрдпрд╛ рдЕрдзрд┐рдХ рд╣реИ, рдПрдХ рдХрд╛рд░реНрдп рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдзрд╛рдЧреЗ рдирд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЬреИрд╕реЗ рд╣реА рдпрд╣ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдирдпрд╛ рдХрд╛рд░реНрдп рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗ рд╕реЛ рдЬрд╛рддреЗ рд╣реИрдВред"

"рдЬрдм рдЖрдк рдПрдХ рдереНрд░реЗрдбрдкреВрд▓ рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯрд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрдирд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдереНрд░реЗрдбреНрд╕ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдХрддрд╛рд░рдмрджреНрдз рдХрд┐рдП рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдк рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ 10 рддрдХ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдФрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрддрд╛рд░рдмрджреНрдз рдХрд╛рд░реНрдп 100 рддрдХред"

"рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереНрд░реЗрдбрдкреВрд▓ рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:"

1)  рдЬрдм рдЖрдк рдХреЛрдИ рдирдпрд╛ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕реЗ рдХрддрд╛рд░ рдХреЗ рдЕрдВрдд рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

2)  рдпрджрд┐ рдХрддрд╛рд░ рднрд░реА рд╣реБрдИ рд╣реИ, рддреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрд╛ рдЬрд╛рддрд╛ рд╣реИред

3)  рдПрдХ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдХрддрд╛рд░ рд╕реЗ рдЕрдЧрд▓рд╛ рдХрд╛рд░реНрдп рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред

4) рдпрджрд┐ рдХрддрд╛рд░ рдореЗрдВ рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ, рддреЛ рдирдП рдХрд╛рд░реНрдп рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рддрдХ рдПрдХ рдереНрд░реЗрдб рд╕реЛ рдЬрд╛рддрд╛ рд╣реИред

"рджреГрд╖реНрдЯрд┐рдХреЛрдг, рдЬрд╣рд╛рдВ рд╣рдо рд╡рд░реНрдХрд░ рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рдлрд╛рдпрджреЗрдордВрдж рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдереНрд░реЗрдбреНрд╕ рд╣реИрдВ, рдЙрддрдирд╛ рд╣реА рд╡реЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рддреЗ рд╣реИрдВред 5-10 рд╡рд░реНрдХрд░ рдереНрд░реЗрдбреНрд╕ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд▓рдВрдмреА рдХрддрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рд╣реИред рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд▓рд┐рдП 100 рдзрд╛рдЧреЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░реЗрдВрдЧреЗ: рдореЗрдореЛрд░реА, рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп, рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХреНрд╕реЗрд╕ рдЗрддреНрдпрд╛рджрд┐ред"

"рдпрд╣рд╛рдБ рдереНрд░реЗрдбрдкреВрд▓ рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯрд░ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:"

рдЙрджрд╛рд╣рд░рдг
ExecutorService service = Executors.newFixedThreadPool(2);

for(int i = 0; i < 10; i++)
{
 service.submit(new Runnable() {
    public void run()
    {
     // Here we download something big from the Internet.
    }
 });
}

"рдЙрд╣, рдореИрдВ рдЗрд╕реЗ рдирд╣реАрдВ рджреЗрдЦрддрд╛ ..."

"рдПрдХ рдереНрд░реЗрдбрдкреВрд▓ рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдм рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм newFixedThreadPool рдореЗрдердб рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред"

рддреЛ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЬреИрд╕реЗ рд╣реА рдЖрдк рд╕рдмрдорд┐рдЯ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдЗрд╕рдореЗрдВ рдХреЛрдИ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдпрд╣:

рдП)  рдХрд╛рд░реНрдп рдХреЛ рдЕрдВрдЬрд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЛрдП рд╣реБрдП рдзрд╛рдЧреЗ рдХреЛ рдЬрдЧрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдХреЛрдИ рд╣реИред

рдмреА)  рдпрджрд┐ рдХреЛрдИ рдкреНрд░рддреАрдХреНрд╖рд╛ рдзрд╛рдЧрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИред

рд╕реА)  рдпрджрд┐ рдзрд╛рдЧреЗ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рддрдХ рдкрд╣реБрдБрдЪ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд╛рд░реНрдп рдХреЛ рдХрддрд╛рд░ рдХреЗ рдЕрдВрдд рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред

"рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ" рдпрд╣рд╛рдВ рд╣рдо рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдХреБрдЫ рдмрдбрд╝рд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреА рдмреИрдВрдбрд╡рд┐рдбреНрде рд╕реАрдорд╛ рджреНрд╡рд╛рд░рд╛ рд░реЛрдХрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреБрдЫ рдзрд╛рдЧреЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЖрдк рдпрд╣реА рджреЗрдЦрддреЗ рд╣реИрдВ: "

ExecutorService service = Executors.newFixedThreadPool(2);

"рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред"

"рд╣рд╛рдБред рдЬрд┐рддрдирд╛ рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдЙрд╕рд╕реЗ рднреА рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдХрд┐рдо рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдЧреАред"