Бир worker колдонууга жарактуу прокси табат. Сиз анын дарегин кайтарасыз, калган future-лерде cancel чакырасыз жана тармактык аракет токтойт деп күтөсүз. Токтобошу мүмкүн.

Future анын callable башталышынан мурун жокко чыгарылышы мүмкүн. Жип сурамды аткарып жатса, анын Future-ин жокко чыгаруу ошол socket операциясын үзбөйт. Worker-ге өзүнүн чектелген тармактык операциясы жана тазалоо жолу керек.

Executor-дин жашоо узактыгы да маанилүү. ThreadPoolExecutor контекстен чыгуу анын ишинин бүтүшүн күтөт. Бир тез натыйжа таап, анан бир нече жай worker-лерди күтүү чакыруучунун жалпы кечигүүсүн жеңүүчүнүн билдирген латенттигине такыр окшошпой көрсөтүшү мүмкүн.

Жарышты баштоодон мурун чектеңиз

  • Чексиз коомдук тизмени берүүнүн ордуна бир убактагы текшерүүлөрдүн санын чектеңиз. Акысыз прокси тизмеси текшерүүчүнүн киришине талапкерлерди берет, ар бир акыркы чекиттин протоколу worker үчүн сакталат.
  • Ар бир сурамга ылайыктуу туташуу жана окуу саясатын бериңиз.
  • Чакыруучуга жалпы чечим бюджетиңизди бериңиз.
  • Чечимден узак жашаган worker-лердин натыйжаларын ким бошотот же жабат экенин аныктаңыз.

Future үчүн азыраак күтүү анын негизги сурамын кыскартуу менен бирдей эмес. Ошо сыяктуу эле, натыйжадан баш тартуу бардык тармактык ресурстарды дароо бошотпойт.

Биринчи ийгиликтүү натыйжа да биринчи ийгиликтүү текшерүү гана. Ал пландаштырууга, кэштештирилген туташууларга жана конкреттүү текшерүү багытына көз каранды болушу мүмкүн. Ал акыркы чекиттин универсалдуу түрдө эң тез экенин же чыныгы тапшырманын ийгиликтүү болорун далилдебейт.

Көбүнчө акыркы байкоолору бар кичинекей сакталган пул ар бир жүктөө алдында бүт тизме менен жарышуудан жөнөкөй. Жазууну жаңыртуу үчүн чыныгы операциянын натыйжасын колдонуңуз, ийгиликсиздиктер үчүн көзөмөлдөнгөн калыбына келтирүү саясаты менен. Алдын ала текшерүү адат боюнча ар бир тапшырманы эки эсе көбөйтүүнүн ордуна өзүнүн чыгымын акташы керек.

Тектеш макалалар