Bonsoir,

j'ai deux méthodes scan et write

scan d'une classe Lecture qui hérite de Thread
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
public void scan(int []t ){
	try{int num=3;
	    t[0]=p.get(0);
	    this.sleep(num);//le temps de lire les autres
	    this.yield();
	    t[16000]=p.get(16000);
	    this.sleep(num);//le temps de lire les autres
	    this.yield();
	    t[31999]=p.get(31999);
	} catch(InterruptedException e){
	    System.out.println(e);
	}
    }
write d'une classe Ecriture qui hérite de Thread
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
public void write(int i,int x) {
	p.set(i,x);
    }
Ces méthodes ne sont pas atomiques mais je ne comprends pas pourquoi.

J'aurais besoin d'aide pour comprendre pourquoi ces méthodes ne sont pas atomiques si c'est bien le cas du moins scan ça peut être normal à cause du sleep qui endort le thread pendant une période ou du yield qui bloque un thread pour qu'un autre puisse interférer et donc faire que scan n'est plus atomique mais c'est pour write que je ne comprends pas vraiment.

Est-ce que l'explication pour le scan paraît correct?

Merci