Video: Արդյո՞ք C++-ն ունի բազմաթելեր:
2024 Հեղինակ: Lynn Donovan | [email protected]. Վերջին փոփոխված: 2023-12-15 23:48
Ա բազմաթելային ծրագիրը պարունակում է երկու կամ ավելի մասեր, որոնք կարող է վազել միաժամանակ. Նման ծրագրի յուրաքանչյուր մաս է կոչված ա թել , և յուրաքանչյուրը թել սահմանում է կատարման առանձին ուղի: C++-ն անում է չի պարունակում որևէ ներկառուցված աջակցություն բազմաթելային հավելվածներ։
Հետագայում, կարելի է նաև հարցնել, արդյոք C++-ը միայնակ թելերով է:
Multithreading-ը C++-ում Multithreading-ի աջակցությունը ներդրվել է C+11-ում: C++ 11 վերացրեց այդ ամենը և տվեց մեզ std: թել . Այն թել դասերը և հարակից գործառույթները սահմանվում են թել վերնագրի ֆայլ: std:: թել է թել դաս, որը ներկայացնում է ա մեկ թեմա C++-ում։
Բացի վերևից, Python-ը միայնակ թելերով է, թե բազմաթելային: Կարճ պատասխանն է՝ այո, նրանք են միայնակ թելերով . JRuby-ն է բազմաթելային և կարող է գործարկվել tomcat-ում, ինչպես մյուս java կոդը: MRI (կանխադրված ռուբին) և Պիթոն երկուսն էլ ունեն GIL (Global Interpreter Lock) և, հետևաբար, ունեն միայնակ թելերով.
Նաև հարց է ծագում, արդյոք C++ քարտեզի շարանը անվտանգ է:
2 Պատասխաններ. C++11 ստանդարտը երաշխավորում է, որ կոնտեյներների հասանելիությունը const մեթոդով է ապահով տարբերից թելեր (այսինքն, երկուսն էլ օգտագործում են const մեթոդները): Այսպիսով, կարճ պատասխանը ապահով , այնքան ժամանակ, որքան մյուսը թել ուղղակիորեն չի խառնվում այդ կոնկրետ մուտքի հետ քարտեզ.
Կարո՞ղ են մի քանի թելեր կանչել նույն գործառույթը:
Մի քանի թելեր, որոնք կանչում են նույն գործառույթը -ում նույնը ժամանակ. Յուրաքանչյուրը ֆունկցիայի զանգ ունի տեղական փոփոխականների իր մասնավոր հավաքածուն և կամք երբեք մի խանգարեք ուրիշներին թելեր կամ այլ զանգեր որ նույն գործառույթը մեջ զանգահարել բուրգ. Այնուամենայնիվ, բոլոր ռեսուրսները, որոնք կարող են կիսվել թելեր պոտենցիալ վտանգավոր են: