Re: Help for synchronize threads
- From: Lew <conrad@xxxxxxxxxxx>
- Date: Sun, 24 Sep 2006 22:16:55 -0400
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
.
- References:
- Help for synchronize threads
- From: aehdom
- Re: Help for synchronize threads
- From: opalpa@xxxxxxxxx opalinski from opalpaweb
- Help for synchronize threads
- Prev by Date: Re: typesafe java.util.Map construction and initialization
- Next by Date: Re: Error help?
- Previous by thread: Re: Help for synchronize threads
- Next by thread: Specific Cloning Question
- Index(es):