Discussione:
PPL
(troppo vecchio per rispondere)
Daniele
2021-09-03 10:27:03 UTC
Permalink
Ciao a tutti,
volevo inizare a capire come utilizzare la programmazione parallela.
Avete da suggerire qualche testo per iniziare a muovere i primi passi in
questo argomento ?

Grazie

Ciao

Daniele
Alberto Salvati
2021-09-08 07:01:33 UTC
Permalink
La programmazione parallela o concorrente è una potenzialità offerta dal sistema operativo di turno e implementata in modo abbastanza specifico.
Rientra in un argomento sconosciuto ai più: LA TEORIA DEI SISTEMI OPERATIVI.
Al momento non so suggerirti un buon testo ovviamente in inglese che parli di questo argomento.
Io l'ho studiato per la maturità troppi anni fa (1986) su un testo che aveva solo 2 capitoli: basi di dati e teoria dei sistemi operativi.
Questo studio è per me fondamentale in quanto ho un idea abbastanza precisa di cosa succede dietro le quinte.
Ad esempio, non tutti sanno che molto di quello che delphi fa lo fa delegando il compito al sistema operativo....



In Windows sta cosa si basa molto sui thread dai quali molti sono spaventati; in realtà se rispetti 5 o 6 regole la maggior parte dei problemi semplicemente non li avrai.
Sui sistemi unix/linux credo che molto si basi sul concetto di fork...per maggiori dettagli sai già dove cercare

.Net ha delle classi per gestire questa cosa in modo più astratto e semplificato.
In delphi credo abbiano integrato qualcosa ma non ne so nulla...nel caso spero che ste cose FUNZIONINO.....


Su android le cose sono un pochino diverse.
Windows di base è sincrono e usi i thread a tua discrezione e a tua responsabilità.
Android di base è quasi completamente ASINCRONO, quindi quasi tutto quello che fai si basa su quelli che chiamo thread ma in realtà sono ben altro.
Ad esempio, se in una app android vuoi mostrare una mappa di google maps, la invochi ma sai già che alla riga successiva la mappa non sarà ancora pronta.
Quindi dovrai applicare un pattern observer, registrando un qualcosa che riceverà la notifica quando la mappa sarà disponibile e la gestirà.



Tornando a Windows, la lezione zero è capire se effettivamente ti serve un thread: Tutto il resto viene dopo.
Quindi, la domanda per iniziare è "a cosa ti servirebbe la programmazione parallela o concorrente?".

A.
Daniele
2021-09-10 08:29:35 UTC
Permalink
Ciao Alberto,
scusa il ritardo !!
In Brevissimo ....

Quello che devo ottenere e' un miglioramento delle gestione di una
procedura (form) con cui ascolto della musica.
Questa procedura (dove si selezionano dei file musicali che vengono
riprodotti) si apre dalla main form con MusicFrom.Show; Fin quando si
rimane nella main form la posso richiamare in primo piano e, per
esempio, cambiare brano, gestire il volume (non di sistema), aggiungere
o rimuovere files eccc...

Se dalla main form entro in altre procedure, magari che richiedono
diverso tempo, perdo il controllo della musicform prche' la form appena
della nuova procedura e' stata "aperta" con ShowModal.

Cosi', pensavo, che per la gestione (limitata) al volume la potevo
separare in un'altro thread. Da qui poi altri ed altri problemi che si
risolveranno (spero) quando si verificheranno ....

Di certo avrai suggerimenti in merito che potrebbero risolvere questo
mio inconveniente !!

Grazie

Ciao e buon fine settimana !!

Daniele
Alberto Salvati
2021-09-10 09:20:10 UTC
Permalink
Trattandosi di windows, per semplicità parlo di thread.
Nessuna libreria grafica credo supporti il multithreading.
La VCL di sicuro no.

A.
Daniele
2021-09-13 10:21:20 UTC
Permalink
Ciao Alberto,
Post by Alberto Salvati
Trattandosi di windows, per semplicità parlo di thread.
Nessuna libreria grafica credo supporti il multithreading.
La VCL di sicuro no.
Esatto, la grafica non e' supportata.
Nei vari thread che si fanno (non nho la minima idea di come farne piu'
d'uno ... sono ancora in fase molto iniziale ..) la gestione e' dei soli
dati; Poi la grafica (negli pochi esempi che ho sbirciato) viene
aggiornata con una generica procedura "UpdateGraphics" che e' messa non
so dove.
Ecco, questo per dirti a che (sub)livello sono !!!

Grazie

Ciao

Daniele

Continua a leggere su narkive:
Loading...