Onko C++:ssa monisäikeisyys?
Onko C++:ssa monisäikeisyys?

Video: Onko C++:ssa monisäikeisyys?

Video: Onko C++:ssa monisäikeisyys?
Video: 005. Немного магии для C++14 — Антон Полухин 2024, Saattaa
Anonim

A monisäikeinen ohjelma sisältää kaksi tai useampia osaa voi ajaa samanaikaisesti. Jokainen tällaisen ohjelman osa On nimeltään a lanka , ja jokainen lanka määrittää erillisen suorituspolun. C++ tekee eivät sisällä sisäänrakennettua tukea monisäikeinen sovellukset.

Tämän jälkeen voidaan myös kysyä, onko C++ yksisäikeinen?

Monisäikeisyys C++:ssa Multithreading-tuki otettiin käyttöön C+11:ssä. C++ 11 poisti kaiken tämän ja antoi meille standardin:: lanka . The lanka luokat ja niihin liittyvät funktiot on määritelty lanka otsikkotiedosto. std:: lanka on lanka luokka, joka edustaa a yksi lanka C++:ssa.

Yllä olevan lisäksi, onko Python yksisäikeinen vai monisäikeinen? Lyhyt vastaus on kyllä, ne ovat yksikierteinen . JRuby on monisäikeinen ja voidaan ajaa tomcatissa kuten muussakin Java-koodissa. MRI (oletus rubiini) ja Python molemmissa on GIL (Global Interpreter Lock) ja ovat näin yksikierteinen.

Kysymys kuuluu myös, onko C++-karttalanka turvallinen?

2 vastausta. C++11-standardi takaa, että const-menetelmällä pääsy konteihin on turvallinen erilaisista langat (eli molemmat käyttävät const-menetelmiä). Eli lyhyt vastaus: olet turvallinen , niin kauan kuin toinen lanka ei suoraan sotkeudu kyseisen merkinnän kanssa kartta.

Voivatko useat säikeet kutsua samaa funktiota?

Useat säikeet kutsuvat samaa funktiota osoitteessa sama aika. Jokainen toimintokutsu on oma yksityinen joukko paikallisia muuttujia ja tahtoa älä koskaan häiritse muita langat tai muuta puhelut -lta sama toiminto in soittaa puhelimella pino. Kuitenkin kaikki resurssit, jotka voidaan jakaa kesken langat ovat mahdollisesti vaarallisia.