Synch Thread interne avec FOStream
	
	
		Bonjour!
Je suis en train de me perdre dans la synchronisation du méthode appartenant à un gestionnaire de cache (type HIFO pour un peu frimer): quel objet mettre au verrou synchronized??? Le tutoriel de ®om ne m'aide pas plus que ça.... :( J'ai un chargement trop long pour les objets pas trop gros comme 4ko env. ...8O 
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 |     private boolean swap(int pKey, Object pValue) {
        final int key = pKey;
        final Object value = pValue;
        cacheDisk.put(key, new File(cacheDisk_dir + File.separator + "_cache"+hashCode()+key+'.'+cacheDisk_ext));
        Thread t = new Thread(new Runnable() { public void run() {
            try {
                new ObjectOutputStream(new FileOutputStream((File)cacheDisk.get(key))).writeObject(value);
            } catch(IOException e) { e.printStackTrace(); Thread.currentThread().interrupt(); }
        }}, "T-cache-swap");
        t.start();
        synchronized (pValue) { // ça fait pas de différence avec "this"! ???
            try {
                t.join();
                System.out.println(pKey + " swapped");
            } catch(InterruptedException e) { return false; } finally { return true; }
        }
    } |