Ho una matrice quadrata
Devo dividerla in 5 porzioni ed a ognuna assegnarli un thread come e possibile fare questo??
Qualcuno puo darmi delle dritte ed eventuali spunti di codice??
grazie
Ho una matrice quadrata
Devo dividerla in 5 porzioni ed a ognuna assegnarli un thread come e possibile fare questo??
Qualcuno puo darmi delle dritte ed eventuali spunti di codice??
grazie
Il primo passo è quello di scrivere nell'area corretta (sposto la discussione), il secondo è quello di iniziare a pensare a una risoluzione del problema in base alle tue conoscenze (se sono zero, allora significa che devi documentarti di più), poi proporla in modo che si possa discutere ed eventualmente correggere.
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Innanzitutto dovresti precisare "porzioni" di che tipo. Cioè chiarire bene come deve essere suddivisa la matrice. A blocchi di righe? A blocchi di colonne? A sotto-aree rettangolari? Altro?Originariamente inviato da topolino
Ho una matrice quadrata
Devo dividerla in 5 porzioni ed a ognuna assegnarli un thread come e possibile fare questo??
Per quanto riguarda i thread, posso ben immaginare che ogni thread andrà ad operare solo su quella sua porzione, giusto? E allora una volta stabilito come sono fatte le porzioni si può stabilire come "modellare" le informazioni su una porzione. Poter dire: la porzione inizia qui e finisce qua. Ma per farlo bisogna sapere come è la suddivisione!
No ma più che altro per il motivo che non hai spiegato praticamente nulla di più preciso. Matrice di che tipo? Porzioni di che tipo? I thread che ci devono fare con le porzioni?Originariamente inviato da topolino
Qualcuno puo darmi delle dritte ed eventuali spunti di codice??
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Allora la matrice e 512x512 le porzioni sono 5.Vorrei dividere la matrice in modo che abbiamo 5 porzioni di uguali dimensioni quindi 4 agli angoli e una porzione della matrice e centrale e taglia un pezzino degli angoli delle altre 4 porzioni, non so se mi sono spiegato.
Comunque per immaginarselo un quadrato diviso in 4 e una porzione poi la metto alcentro del 4 e invade quelle altre 4.
Dopo che l ho divisa che non so come fare, avro 5 thread che nscono in posizioni casuali e in base a dei controlli li andro a posizionare all interno ognuno attraverso le coordinate x,y all'interno delle mie porzioni create, poi il corpo del thread l ho realizzato e fara quello che deve fare..Ma deve restare sempre e solo al suo interno il thread.
Help
Scusa ma non puoi fare un esempio di matrice con delle lettere A B C (che indicano le porzioni) ... così si capisce meglio? Anche piccola. Ma purché sia chiara la suddivisione.Originariamente inviato da topolino
Allora la matrice e 512x512 le porzioni sono 5.Vorrei dividere la matrice in modo che abbiamo 5 porzioni di uguali dimensioni quindi 4 agli angoli e una porzione della matrice e centrale e taglia un pezzino degli angoli delle altre 4 porzioni, non so se mi sono spiegato.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
--------------
| A | B |
-------------
| C |
-------------
| D | E |
-------------
Immagina le prime 200 righe coperte da A e B da 200 a 300 solo da C e da 300 a 500 coperte da D a sx ed e a dx
Questa e un idea queste formichine devo mangiare dei fiori che appaiono sulla matrice in maniera casuale...quindi puo essere divisa anche in altri modi basta che siano abbastanza omogenee le porzuioni...
Ok, ora è chiaro!Originariamente inviato da topolino
(ho sistemato io qui)codice:----------- | A | B | ----------- | C | ----------- | D | E | -----------
Immagina le prime 200 righe coperte da A e B da 200 a 300 solo da C e da 300 a 500 coperte da D a sx ed e a dx
Da quanto sopra, le porzioni sono poi aree "rettangolari". Quindi si possono descrivere come un punto di origine (riga,colonna) e una larghezza e altezza.Originariamente inviato da topolino
Questa e un idea queste formichine devo mangiare dei fiori che appaiono sulla matrice in maniera casuale...quindi puo essere divisa anche in altri modi basta che siano abbastanza omogenee le porzuioni...
Non so di che tipo sia la matrice (int[][], char[][] ??) ma ora poco importa. Quello che potresti fare è "modellare" la porzione con una apposita classe che consente di accedere ai valori nella porzione ma "nascondendo" il fatto che è appunto una porzione.
Una cosa del genere insomma (cambiando il tipo se diverso).codice:class PorzioneMatrice { private int[][] interaMatrice; private int rigaOrigine; private int colonnaOrigine; private int larghezza; private int altezza; // .... costruttore che assegna ai campi public int getLarghezza() { ..... } public int getAltezza() { ..... } public int getValore(int r, int c) { .... } public void setValore(int r, int c, int valore) { ..... } }
Questa classe all'interno si occupa di "mappare" le coordinate da "logiche" della porzione a quelle "fisiche" della matrice.
Ovviamente istanzi tanti oggetti PorzioneMatrice quante sono le porzioni. E ognuno lo passi ad un thread.
Se un thread chiede getValore(0, 0) la classe ovviamente va a mappare la giusta coordinata fisica nella matrice. E se le coordinate sono "fuori" dalla porzione puoi ad esempio lanciare una eccezione come IndexOutOfBoundsException.
Insomma, questa classe è semplicemente una "astrazione" di una porzione della tua matrice.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet