Асинхрони позив

Аутор: Lewis Jackson
Датум Стварања: 8 Може 2021
Ажурирати Датум: 25 Јуни 2024
Anonim
Light Your World (with Hue Bulbs) by Dan Bradley
Видео: Light Your World (with Hue Bulbs) by Dan Bradley

Садржај

Дефиниција - Шта значи позив асинхроног метода?

Асинхрони позив позива је метода која се користи у .НЕТ програмирању, која се враћа позиваоцу непосредно пре завршетка његове обраде и без блокирања позивне нити.

Када апликација позове асинхрону методу, она може истовремено да извршава заједно са извршењем асинхроне методе која извршава свој задатак. Асинхрона метода ради у нити одвојено од главног навоја апликације. Резултати обраде се преузимају путем другог позива на другој нити.

Асинхроне методе помажу у оптимизацији извођења ресурса што резултира скалабилном апликацијом. Они се користе за извршавање дуготрајних задатака као што су отварање великих датотека, повезивање са удаљеним рачунарима, постављање упита у базу података, позивање веб услуга и АСП.НЕТ веб образаца.

Позив асинхроног метода такође се може назвати позивањем асинхроних метода (АМИ).


Увод у Мицрософт Азуре и Мицрософт Цлоуд | Кроз овај водич научићете о томе шта се рачуна у облаку и како вам Мицрософт Азуре може помоћи да мигрирате и покренете посао из облака.

Техопедија објашњава позив асинхроног метода

Асинхрона метода се разликује од синхроне методе на начин на који се враћа из позива. Док се позив асинхроне методе одмах враћа, омогућујући позивајућем програму да обавља и друге операције, позиви синхроног метода чекају да се метода доврши пре него што се настави са протоком програма.

Оквир .НЕТ има уграђену асинхрону инфраструктуру тако да се било која метода може асинкроно позивати без мењања кода.

.НЕТ Фрамеворк пружа два обрасца дизајна за имплементацију асинхроног метода, а то су они који користе асинхроне делегате (објекте ИАСинцРесулт) и догађаје. Асинхрони модел делегата је сложенији и пружа флексибилност, што га чини погодним за разне сложене моделе програмирања. Модел заснован на догађајима је једноставан и требало би га користити у већини случајева.

У обрасцу асинхроних делегата, делегатски објект користи двије методе: БегинИнвоке и ЕндИнвоке. БегинИнвоке има листу параметара који су слични функцији која се закључава, заједно са два додатна опциона параметра; враћа ИАсинцРесулт објект. ЕндИнвоке враћа два параметра (тип оут и реф) заједно са ИАсинцРесулт објектом. БегинИнвоке се користи за покретање асинкроног позива, док се ЕндИнвоке користи за преузимање резултата асинхроног позива.

Асинхрони обрасци засновани на догађајима користе класу која има једну или више метода, названих МетходНамеАсинц, које имају одговарајуће синхроне верзије које се извршавају на тренутној нити. Узорци засновани на догађајима могу такође имати метод МетходНамеЦомплетед и МетходНамеАсинцЦанцел метод. Овај образац омогућава класи да комуницира са чекањем асинхроних операција користећи модел делегате догађаја.

Следи неколико савета који се односе на асинхроне методе:


  • За високу конкурентност, треба избегавати асинхроне методе
  • Потребно је бити опрезан док се прослеђују референце заједничког објекта
  • ЕндКСКСКС (позван на крају асинхроне операције) мора бити позван да поново изузеће и избегне неуспех
  • Хватањем и чувањем свих објеката изузетка у асинхроној методи, он се може поново уклонити током позива ЕндКСКСКС
  • Контроле у ​​корисничком интерфејсу које иницирају дуготрајне асинхроне операције морају бити онемогућене ако су само потребне у ту сврху
  • Асинхроне методе морају се применити уз разумевање вишеслојних навођења и тамо где су се показале ефикаснијима од коришћења синхроних метода.