Skip to main content

Ano ang isang aktibong bagay?

Sa computer programming at engineering, ang isang aktibong bagay ay isang uri ng pattern ng disenyo na maaaring magamit upang makatulong na matiyak na ang ilang serbisyo ay laging magagamit sa isang multi-threaded o kasabay na sistema.Ang isang aktibong bagay ay isang bagay na nagpapatupad ng isang mekanismo upang makatanggap ito at magproseso ng pag -input mula sa mga panlabas na bagay nang hindi pinipilit ang mga panlabas na bagay na maghintay para makumpleto ang pagpapatupad.Pinapayagan din ng mekanismong ito ang maraming mga bagay na maaaring lahat ay tumatakbo nang sabay -sabay na gumamit ng mga aktibong bagay nang walang posibilidad para sa mahabang oras ng pagharang kung saan ang mga kasabay na proseso ay dapat tumigil at maghintay para sa pag -access.Ito ay madalas na nakamit sa pamamagitan ng pagbalot ng mga aktibong bagay sa isang interface na naa -access sa publiko, na tinatawag na isang proxy, at pagkatapos ay ipatupad ang isang uri ng sistema ng pila sa loob ng mga bagay upang ang mga mensahe ay naka -imbak para sa pagproseso sa paglaon.Lumilikha ito ng isang pattern ng disenyo kung saan ang mga bagay ay nagpapadala ng mga mensahe sa mga aktibong bagay at pagkatapos ay ipagpatuloy ang kanilang pagproseso hanggang sa iproseso ng aktibong object ang mensahe at kalaunan ay ipinaalam sa mga bagay na tumatawag ng mga resulta upang ma -update nila ang kanilang mga estado nang naaayon.

sa labas ng isang aktibong pattern ng disenyo ng object, Ang isang normal na bagay ay maaaring tawaging isang passive object.Sa isang simpleng halimbawa ng programa, ang isang passive object ay maaaring kumilos bilang isang relay ng chat server, kung saan ang mga malalayong bagay ay makipag -ugnay sa passive object upang magpadala ng isang mensahe sa lahat sa server.Tuwing natatanggap ng object ng passive server ang isang mensahe ng chat mula sa isang malayong bagay, dapat itong hawakan kaagad ang kahilingan at pagkatapos ay agad na magpadala ng output, habang ang remote na bagay ay huminto sa sarili nitong pagpapatupad hanggang sa magawa ang proseso, isang epekto na kilala bilang pagharang.Ang paglikha ng iba't ibang mga thread sa loob ng programa ay maaaring malutas ang problema ng pag -block ng pagpapatupad ngunit pagkatapos ay sinimulan ang mga problema sa pag -synchronize.Ito rin ay balot sa ilang uri ng interface na kilala bilang isang proxy na tumatakbo din sa isang hiwalay na thread, kung minsan ang pangunahing thread ng pagpapatupad ng programa.Kapag nais ng isang remote na bagay na ipadala ang object ng server ng isang mensahe ng chat, nakikipag -ugnay ito sa bagay na proxy, ipinapasa ang lahat ng kinakailangang impormasyon, at pagkatapos ay bumalik sa normal na estado ng pagpapatupad sa halip na maghintay.

Ang interface ng proxy pagkatapos ay nagko -convertAng impormasyon mula sa malayong bagay sa isang mensahe na ipinapasa nito sa isang pila para maproseso ang aktibong bagay.Sa puntong ito, ang parehong interface ng proxy at ang remote na bagay ay libre upang magpatuloy sa pagpapatupad at hindi naharang.Samantala, ang aktibong bagay ay gumagana upang mapanatiling walang laman ang pila, pagproseso ng bawat papasok na mensahe.Kung ang object ng pagtawag ay nangangailangan ng ilang impormasyon upang maibalik ng aktibong bagay, kung gayon ang isang istraktura ng callback ay maaaring magamit upang ipaalam sa malayong bagay ng anumang mga pagbabago sa estado.