Programmazione asincrona

di il
1 risposte

Programmazione asincrona

Salve a tutti avrei un dubbio da chiarire in merito ai vantaggi e svantaggi della programmazione asincrona con quella sincrona ho creato un programma semplice che calcola il fattoriale di 6 numeri generati casualmente utilizzando un pool di 2 thread la mia domanda è:

credo che questo programma si possa fare anche in maniera sincrona se si quindi il vantaggio della programmazione asincrona in questo caso sarebbe solamente la velocita di esecuzione dell intero programma o ci sono anche altri vantaggi e aspetti da considerarare?

1 Risposte

  • Re: Programmazione asincrona

    Non funziona cosi'.
    Considera 2 casi:

    1) hai 100 cose da fare, tutte INDIPENDENTI tra di loro. Ad esempio affrancare 100 buste. Mettiamo che per affrancare ogni busta ci impiegni 1 secondo.

    Per affrancare 100 buste ti servono 100 secondi.
    Se sei tu e la tua morosa, poiche' potete fare il lavoro ""in parallelo" ci impieghereste 50 secondi.
    Se aggiungi altri 8 amici (in 10) fareste i lavoro in 10 secondi.

    2) devi realizzare UN PRODOTTO (diciamo le scarpe Manolo Blahnik per la solita morosa), MA per realizzarlo SERVONO 10 passi.
    OVVIAMENTE i passi DEVONO essere fatti UNO DOPO l'ALTRO.

    inizi con il prodotto 1 (la scarpa destra) al passo 1
    ora il prodotto 1 passa al passo 2. MA a questo punto il passo 1 non sta facendo niente,
    Quello che potresti fare e' INIZIARE il lavoro per il prodotto 2 (la scarpa sinistra).
    ora il prodotto 1 passa al passo 3, il prodotto 2 al passo 2 e di nuovo al passo 1 sei libero.

    quindi, alla fine, avrai 10 prodotti in lavorazione, ogn'uno ad un differente passo di produzione.

    SE ogni passo richiede 1 ora, per fare l'intera lavorazione ti servono 10 ore.
    Quindi dopo 10 ore avrai il prodotto 1 terminato.

    MA a quest punto, il prodotto 2 sara' disponibile dopo una SOLA ora, perche' si trovava al passo 9 rispetto al prodotto 1 che si trovata al passo 10.

    E' come il ""trenino"" di capodanno

    --------------

    Nel caso del fattoriale, NON FUNZIONA, perche' il suo calcolo segue il modello 2) per il SOLO prodotto 1:
    per calcolare il fattoriale di N, TI SERVE NECCESSARIAMENTE il fattoriale di N-1 e fino a che non lo hai calcolato, NON PUOI procedere con il fattoriale di N.
Devi accedere o registrarti per scrivere nel forum
1 risposte