Ali ima C++ večnitnost?
Ali ima C++ večnitnost?

Video: Ali ima C++ večnitnost?

Video: Ali ima C++ večnitnost?
Video: Рефакторинг: шаблон проектирования Singleton [Design Patterns] 2024, November
Anonim

A večnitno program vsebuje dva ali več delov, ki lahko teči sočasno. Vsak del takega programa je imenovan a nit , in vsak nit definira ločeno pot izvedbe. C++ ima ne vsebuje nobene vgrajene podpore za večnitno aplikacije.

Pozneje se lahko vprašamo, ali je C++ enoniten?

Večnitnost v C++ Podpora za večnitnost je bila uvedena v C+11. C++ 11 je vse to odpravil in nam dal std:: nit . The nit razredi in sorodne funkcije so opredeljene v nit naslovna datoteka. std:: nit ali je nit razred, ki predstavlja a ena nit v C++.

Poleg zgoraj, ali je Python enonitni ali večnitni? Kratek odgovor je da, so enojni navoj . JRuby je večnitno in se lahko izvaja v tomcatu kot druga koda Java. MRI (privzeto rubin) in Python oba imata GIL (Global Interpreter Lock) in sta tako enojni navoj.

Vprašanje je tudi, ali je nit zemljevida C++ varna?

2 odgovora. Standard C++11 zagotavlja, da je dostop metode const do vsebnikov varno od različnih niti (tj. oba uporabljata metode const). Torej kratek odgovor: si varno , dokler drugi nit ne vpliva neposredno na ta določen vnos v zemljevid.

Ali lahko več niti pokliče isto funkcijo?

Več niti, ki kličejo isto funkcijo pri enako čas. Vsak klic funkcije ima svoj zasebni nabor lokalnih spremenljivk in volja nikoli ne posegajte v druge niti ali drugo klice od enaka funkcija v pokliči sklad. Vendar pa so vsi viri, ki bi jih lahko delili niti so potencialno nevarni.