Sobes.tech
Junior — Middle

Ինչպե՞ս կարելի է որոշել հիմնական հոսքում մշակված գրառումների քանակը, հաշվի առնելով մի քանի հոսքերի աշխատանքը։

sobes.tech AI

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

Java-ում մի քանի թելերով աշխատելիս հիմնական հոսքում մշակված գրառումների քանակը որոշելու համար անհրաժեշտ է օգտագործել անվտանգ հաշվարկման մեխանիզմներ:

Հաճախ կիրառվող մոտեցումներից մեկը java.util.concurrent.atomic փաթեթից AtomicInteger դասի օգտագործումն է: Յուրաքանչյուր թել, գրառումը մշակելուց հետո, ավելացնում է այս հաշվիչը, իսկ հիմնական հոսքը ցանկացած ժամանակ կարող է ստանալ ընթացիկ արժեքը:

Օրինակ՝

import java.util.concurrent.atomic.AtomicInteger;

public class Processor {
    private AtomicInteger processedCount = new AtomicInteger(0);

    public void processRecord() {
        // գրառման մշակումը
        processedCount.incrementAndGet();
    }

    public int getProcessedCount() {
        return processedCount.get();
    }
}

Այսպիսով, հիմնական հոսքը կարող է կանչել getProcessedCount(), որպեսզի իմանա, թե քանի գրառում է մշակվել բոլոր թելերով միասին։