|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
|
java + thread
Codice:
class Colori {
private int red;
private int blue;
private int white;
//getter
public int red(){
return this.red;
}
public int blue (){
return this.blue;
}
public int white(){
return this.white;
}
public synchronized void setColori (int r, int b, int w, String nomeThread){
this.red = r;
this.blue = b;
this.white = w;
try {
Thread.sleep(344);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(">>" + nomeThread + " " + this.blue + " "+ this.white + " " + this.red);
}
}
//thread
class CambiaColori extends Thread{
private Colori color;
private String nomeThread;
private int b, w, r;
//costruttore
public CambiaColori(Colori color, String nomeThread, int b, int w, int r){
this.color = color;
this.nomeThread = nomeThread;
this.b = b;
this.w = w;
this.r = r;
}
public void run (){
synchronized (color){
color.setColori(this.b,this.w,this.r,this.nomeThread);
}
}
}
public class Test {
public static void main(String[] args) {
Colori color = new Colori();
CambiaColori d = new CambiaColori (color,"PRIMO", 3,3,3);
CambiaColori d1 = new CambiaColori (color,"SECONDO", 93,3,3);
d.start();
d1.start();
}
}
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
Quote:
Comunque il codice è un pò ridondante: è inutile sincronizzarsi su color se l'unico metodo che usi è già sincronizzato.
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
|
praticamente se due thread tentano di andare a usare un metodo sincronizzato contemporaneamente, il secondo che tenta di accedere mentre l'altro lo sta usando si mette in attesa o sbaglio?
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
Quote:
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
|
Quote:
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
Quote:
Sì lo so: spiego da cani...
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
|
quindi:
un thread può chiamare un metodo sincronizzato solo se prende il lock intento altri thread possono richiamare metodi non sincronizzati della classe dove il thread a preso il lock corretto? ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Aug 1999
Città: Tolmezzo (UD) - Milano
Messaggi: 13744
|
Sì Teo, dovrebbe essere corretto
Mi sono anche fatto un paio di prove oggi Ciao
__________________
...to go where no one has gone before. One ring to rule them all, one ring to find them, one ring to bring them all and in darkness bind them. Caron, non ti crucciare: vuolsi così colà dove si puote ciò che si vuole, e più non dimandare. |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
|
Quote:
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#10 |
|
Messaggi: n/a
|
a meno che il metodo sincronizzato non sia anche statico, il lock viene preso sui campi statici, di classe, quindi qualuncue thread lo chiami deve aspettare che il thread che ,o ha chiamato precedente ritorni da tale metodo.
ho azzeccato tutte le subordinate ?
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:42.











?








