salut à tous, je viens de voir une petite question d'examen, et j'avoue ne pas comprendre la subtilité (si elle existe)
Voilà :
Code :
- public int sumArrays[int[] a1, int[] a2)
- {
- int value = 0;
- int size = a1.length
- if(size == a2.length)
- {
- synchronized(a1){
- synchronized(a2){
- for(int i=0; i<size; i++)
- value += a1[i] + a2[i];
- }
- }
- }
- return value;
- }
|
la question est en gros d'expliquer pourquoi il peut y avoir un interblocage, ors je vois pas du tout pourquoi il y en aurait un le corps du synchronized(a2) n'est pas bloquant, donc je comprend pas trop là ...
vous avez une idée ?
merci
---------------
- mon feed-back