Bonsoir,
j'ai deux méthodes scan et write
scan d'une classe Lecture qui hérite de Thread
write d'une classe Ecriture 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); } }
Ces méthodes ne sont pas atomiques mais je ne comprends pas pourquoi.
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); }
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
Partager