Cad é an difríocht idir ailtireacht Node.js atá tiomáinte ag imeachtaí agus cláir multithread i dteangacha eile?


freagra 1:

I bparaidímí imeachtaí-tiomáinte agus ilbhreithe araon, déantar an cód a fhorghníomhú laistigh de phróiseas córais oibriúcháin.

Má ritheann an próiseas iliomad snáitheanna, roinneann na snáitheanna seo cuimhne an phróisis (spás seoltaí) le haghaidh léitheoireachta agus scríbhneoireachta.

Tá JavaScript, a thiomáineann Node.js, aon-snáithe go bunúsach. Ráthaítear go ndéanfar gach feidhm a fhorghníomhú go hiomlán agus nach ndéantar aon chód JavaScript eile a fhorghníomhú sa phróiseas reatha le linn an fheidhm seo a chur i gcrích. Is é an t-inneall a phróiseálann na himeachtaí nádúrtha neamhshioncrónacha (líonra, ionchur / aschur diosca, lasc ama, crua-earraí eile agus imeachtaí córais oibriúcháin), a chuireann na feidhmeanna JavaScript atá cláraithe mar láimhseálaithe (nó aisghlaonna) chun na himeachtaí seo a chur leis an scuaine lúb imeachta atá le déanamh. sula mbeidh an scuaine críochnaithe.

Sa paraidím ilbhreithe, forghníomhaíonn dhá shnáithe nó níos mó cód go comhthreomhar, ionas gur féidir píosa difriúil cód a fhorghníomhú ar chroí próiseálaí difriúil le linn rith feidhme, b’fhéidir é a léamh nó a scríobh chuig na seoltaí cuimhne céanna. D’fhéadfadh staid neamhréireach cuimhne a bheith mar thoradh air seo mura n-úsáideann an cód meicníochtaí córais oibriúcháin speisialta (primitive sioncrónaithe) chun rochtain ar an gcuimhne roinnte a bhainistiú.



freagra 2:

Is ceist mhaith í seo: "Cad é an difríocht idir ailtireacht imeachtaí-tiomáinte Node.j agus cláir multithread i dteangacha eile?"

Is féidir linn agus ba cheart dúinn é seo a laghdú beagán.

  • Ailtireacht imeachta-tiomáinte an nód

Níl an ailtireacht atá tiomáinte ag imeachtaí beartaithe go heisiach le haghaidh nóid, i.e. B. Tornado (Python), Vertx (Java), Akka (Scala), ReactiveX (iliomad teangacha).

  • Cláir Multithread i dteangacha eile.

Tabhair faoi deara nach dtacaíonn JavaScript le snáitheanna iolracha de réir réamhshocraithe. Tacaíonn sé le hoibrithe gréasáin ar féidir leo, mar is eol dom, gníomhú mar shnáitheanna.

Mar sin ní amháin go bhfuil nóid ar fáil le haghaidh imeachtaí, agus is féidir multithreading a dhéanamh i nóid.

Mar sin is féidir dhá cheist a bheith ann: "Cad é an difríocht idir imeacht-tiomáinte agus multithreading" agus "Cad é an difríocht idir nód agus teangacha eile (creataí)". Díreoidh mé ar an dara ceann acu mar is cosúil gurb é sin rún na ceiste.

Is é an rud speisialta faoi Nód ná gur chruthaigh an t-údar é chun blocáil I / O a sheachaint agus feidhmchláir ghréasáin á dtógáil. Is é cultúr phobal na nód ná béim a leagan ar neart an I / O. neamh-bhlocála agus tógáil air. Ní bhfaighidh tú an iomarca leabharlanna tríú páirtí a chuireann bac ar ghlaonna. Mar fhorbróir a úsáideann Nód, ní dócha go dtiocfaidh tú ar bhacainní caolchúiseacha i do chód. I dteangacha eile, féadfaidh forbróir naive glaonna blocála an-mí-éifeachtach a dhéanamh de thaisme B. Léamh ó nasc bunachar sonraí.

É sin ráite, ba cheart duit níos mó a léamh i ndáiríre faoi mhúnlaí iolracha “comhthreomhaireacht” agus buntáistí agus míbhuntáistí gach ceann acu a thuiscint. Pointí bónais chun a aithint cén fáth go bhfuil glacadh le multithreading chomh fada.



freagra 3:

Tá na difríochtaí coincheapúla simplí go leor le timfhilleadh timpeall do chinn.

San ailtireacht atá á stiúradh ag imeachtaí, ritheann do chlár i lúb leanúnach aon snáithe (is féidir leat roinnt ilshnáithe a dhéanamh i nód, ach ní gá duit a bheith buartha faoi sin anois). Nuair a spreagtar imeacht, bíonn post ar an gcruach glaonna atá le próiseáil in am saor an chláir.

De ghnáth spreagann ailtireacht ilteangach snáithe nua nuair a bhíonn uirthi fanacht le gníomh. Mar sin téann tú chuig bunachar sonraí agus cruthaíonn tú snáithe nua a dhéanann na tascanna riachtanacha go léir agus a ghlacann na céimeanna riachtanacha chun an snáithe bunaidh a chríochnú nó a athchruthú.

Tá an dá mhodh an-úsáideach chun críocha éagsúla. Tá imeacht-tiomáinte iontach maith do chomhéadain úsáideora agus do fhreastalaithe toisc nach bhfuil a fhios ag do chlár cathain a tharlaíonn teagmhas nua agus is minic a tharlaíonn imeachtaí i mbaisceanna. Cé go bhfuil gá le snáitheáil le haghaidh post atá dian ó thaobh ríomhaireachta áit ar mhaith leat fadhb a roinnt ina chodanna i bhfad níos lú (nó gar do theorainn do lúb snáithe aonair).