WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

 
 
Themen-Optionen Ansicht
Alt 23.12.2008, 12:36   #2
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Wie du schon gesagt hast funktioniert synchronized nur auf Objekte, nicht auf primitive Typen (int, float, boolean, ...).

Das hier:
Code:
 public synchronized void run(){
heißt das die Methode run() nur von einem (1) anderen Thread aufgerufen werden kann. Eigentlich heißt es sogar noch ein bischen mehr. synchronized in einer Methodensignatur (also z.B. public synchronized void foo(){...}) bedeutet das ein Lock auf this (das aktuelle Objekt) gesetzt wird. D.h. wenn es mehrere synchronized methoden gibt kann im selben Objekt nur eine von beiden gleichzeitig laufen.

Du synchronisierst run(), eigentlich willst du aber der inkrement/dekrement synchronisieren.
Das würde in etwa so funktionieren:
Code:
public class Global{
    private static int number=1;
    public synchronized void increment(){
        number++;
    }
    public synchronized void decrement(){
        number--;
    }
}
jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:59 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag