Re: Help for synchronize threads



aehdom@xxxxxx wrote:
I'm very very confused..

How i can apply the methods 'wait()' and 'notify()' for synchronize
threads for this class??

please...

grazie molte..
Fabrizio.

public class Bancomat extends Thread{
static int soldiinbanca;
....

opalpa@xxxxxxxxx opalinski from opalpaweb wrote:
> You're trying to control access to soldiinbanaca, correct?
>
> If so you don't need wait and notify and can synchronize on
> Bancomat.class instead of synchronizing on instances.

or you could synchronize on Bancomat.soldiinbanca itself:

void eseguiOperazione(){
if (operazione == true){
// easier just to say "if ( operazione )"
/* Rallentamento che produce (testato)
l'inconveniente di sincronizzazione */
//Thread.sleep(1000);

synchronized ( soldiinbanca )
{
soldiinbanca = soldiinbanca + quantità;
}
System.out.println("Versamento di: " + quantità);
}

Since the 'soldiinbanca' variable is static, you need to synchronize on a static lock such as 'class' or the variable itself. You could also use a synchronized static method.

Also, it might make the variable easier to read if you capitalize initial letters of each word part, per Sun's suggestions for code conventions:
soldiInBanca
..
Of course, Sun themselves frequently violate this convention (println() rather than printLn()).

- Lew
.


Quantcast