Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    10

    Thread

    ciao a tutti sto cercando di implementare una simulazione del gioco della corsa con i sacchi
    ma probabilmente nn ho capito bene il concetto di wait e notify quindi i miei giocatori(i thread)
    vanno ogn uno per conto proprio
    che devo fare???????

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Che devo fare?
    Spiega meglio il problema...
    Se fai una domanda cosi' generale, non si capisce cos'e' che non ti funziona
    Puoi postare anche pezzi di codice, se aiuta a rendere piu' chiaro il problema.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    10
    ho un campo di gioco che è una matrice ho un numero di giocatori pari al numero di righe della matrice. ogni thread cerca di accedere ad una variabile condivisa che inizialmente è 0 quando un arbitro da il via partono tutti insieme
    ho fatto passo per passo quello che mi è stato richiesto
    ma solo il thread 1 parte per conto suo arriva alla fine e poi gli altro thred iniziano a partire nel modo specificato ecco l algoritmo che esegue un thread

    public void sposta() {

    synchronized (campo.S) {
    int s=campo.S.intValue();
    s++;
    this.campo.campo[posx][posy] = null;
    campo.campo[posx][posy + 1] = this;
    posy += 1;

    System.out.println("---------------------------------");
    campo.StampaCampo();

    }



    }
    il run nn fa altro che ciclare e richiamare ogni volta il metodo sposta.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Come li fai partire i thread?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    10
    lo spostamento avviene nella classe giocatore
    lo start dei thread nella classe gioco che inizializza il campo con i giocatori e li fa partire

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    10
    la cosa che però trovo estremamente strana è che se faccio partire il programma con eclipse mi succede che il primo arriva alla fine e solo dopo iniziano gli altri
    mentre se lo faccio partire dal prompt i thred partono nell ordine 1 2 3.....
    da cosa dipende? il risultato nn dovrebbe essere lo stesso?

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Cerca di usare dei titoli un po' meno atomici, così da rendere più chiaro di cosa si parla nella discussione.

    Questo lo correggo io.


    Poi, quando poni una domanda, cerca sempre di dare maggiori dettagli possibili: in questo caso, infatti, il codice andava postato subito (come fanno le persone a capire dov'è il problema se non vedono il codice incriminato?).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Puoi postare anche il codice che fa partire i thread?

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    10
    public void parteGioco() {
    inizio = new Arbitro("arbitro", this,0,0);


    for (Giocatore[] giocarr : campo) {
    for (Giocatore gio : giocarr) {
    if (gio != null) {
    gio.start();

    }
    }
    }

    inizio.start();

    }

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da iena_82
    for (Giocatore[] giocarr : campo) {
    Certo non sono esperto della versione 5... ma che roba è questa?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.