Sobes.tech
Junior

Ի՞նչ է պառալելիզմը։

sobes.tech AI

Պատասխան AI-ից

Պարալելիզմը (Parallelism) — դա միաժամանակ մի քանի առաջադրանքների կամ մեկ առաջադրանքի մասերի կատարմանն է, սովորաբար օգտագործելով մի քանի պրոցեսորային բլոկներ կամ առանձին հաշվարկային սարքեր։ Մտադրությունը — կրճատել ծրագրի ընդհանուր կատարման ժամանակը։

.NET-ում պարալելիզմը իրականացնելիս օգտագործվում են.

  • Task Parallel Library (TPL): բարձր մակարդակի գրադարան միաժամանակյա գործողությունների համար։
  • Parallel LINQ (PLINQ): LINQ հարցումների միաժամանակյա կատարման։
  • Ձեռքով աշխատել թելերով (Threads): ցածր մակարդակի վերահսկում թելերի ստեղծման և կառավարման վրա։

TPL-ի օգտագործման օրինակ՝

// պարզ միաժամանակյա ցիկլի օրինակ
Parallel.For(0, 1000, i =>
{
    // միաժամանակ կատարում ենք ինչ-որ գործողություն յուրաքանչյուր i-ի համար
    Console.WriteLine($"Իտերացիա {i} թել {Thread.CurrentThread.ManagedThreadId}");
    Thread.Sleep(10); // աշխատանք模拟
});

Հիմնական տարբերությունները բազմաթելային (Concurrency) հետ.

Պարամետր Պարալելիզմ (Parallelism) Բազմաթելայնություն (Concurrency)
Նպատակը Արագացնել կատարմանը միաժամանակյա աշխատանքի միջոցով Կառավարել մի քանի առաջադրանք, որոնք կարող են կամ չպետք է աշխատեն միաժամանակ
Պահանջվում է Ավելին մի քանի բլոկներ (կամ սարքեր) ճշգրիտ պարալելիզմի համար Մեծ թվով թելեր, որոնք կարող են փոխարկվել մեկ բլոկում
Կենտրոնացում Մի առաջադրանքի ավելի արագ կատարման համար (բաժանելով մասերի) Կառավարում և համակարգում մի քանի անկախ առաջադրանքներ

Պարալելիզմը հատկապես արդյունավետ է բարձր հաշվարկային բեռով առաջադրանքների համար, որոնք կարող են բաժանվել անկախ ենթաառաջադրանքների։