Visualizzazione dei risultati da 1 a 10 su 22

Hybrid View

  1. #1
    Thread!!

    public class Sincronizzazione implements Runnable {



    private Prova miaProva;

    static int tMin = 3000;
    static int tMax = 6000;

    //Identificato auto
    int idAuto;

    public Sincronizzazione(int idAuto,Prova Variabile){
    System.out.println("Sono vivo auto: "+idAuto);
    miaProva=Variabile;
    this.idAuto = idAuto;

    }

    @Override
    public void run() {

    try {
    miaProva.entraNelParcheggio();
    } catch (InterruptedException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }



    int tRandom = (int) Math.floor(Math.random() * tMax) + tMin;
    System.out.println("Sono entrato auto: "+idAuto+" per tempo: "+tRandom);
    try {
    Thread.sleep(tRandom);
    } catch (InterruptedException e) {
    e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
    }


    miaProva.esconoDalPacheggio(idAuto);

    }

    }


    Quello che vorrei fare, come hai detto tu, le macchina devono rispettare l'ordine d'ingresso.

    Pero' mi piacerebbe usare un arraylist.

    Quando hai tempo mi potresti inviare un esempio di codice

    Grazie mille
    Il primo social network dedicato interamente allo sport.
    Social Network
    ________________________________

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Ho letto brevemente e vagamente il codice ma così NON va bene già a partire dalle denominazioni: Prova e Sincronizzazione non vanno granché bene come nomi, nel senso che dicono molto molto poco. Inoltre la classe dell'oggetto condiviso non ha senso che estenda Thread.

    Ripensa un attimo le classi, suggerisco es. Parcheggio (per l'oggetto condiviso) e Auto o AutoRunnable (per il Runnable da passare ad un Thread, gli oggetti Thread li crei poi al volo).

    Quote Originariamente inviata da andgio76 Visualizza il messaggio
    una domanda non si puo utilizzare un arraylist?
    Se vuoi basarti solo sul idAuto (ovvero auto id=1 ha precedenza prima del 2, ecc... o il contrario ... come vuoi), allora non serve una collezione.
    Se invece vuoi che il primo thread (=auto) che arriva al entraNelParcheggio() sia anche la prima ad uscire, allora sì, una collezione (ArrayList ok ma anche LinkedList è ok) è utile per tenere i riferimenti agli oggetti Thread.
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

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 © 2026 vBulletin Solutions, Inc. All rights reserved.