Nur um noch mal zu schauen, dass ich dich richtig verstanden habe:
Du greifst auf Informationen zurück, die du in einzelnen Threads abholst. Was dazu nötig ist, ist ja erstmal egal. Einfach gesagt wird ein Aufruf gestartet (egal ob entfernt oder lokal), der dir einen bestimmten Wert liefert.
Jeder Thread holt sich genau einen solchen Wert bzw. keine zwei Threads holen sich den gleichen Wert, oder?
Und jeder Thread stellt dann in einem Controll diesen Wert da (auch wieder jeder in einem eigenen?). Das ganze wird dann in gewissen Intervalen (individuell für jeden Thread) wiederholt?
Wenn das soweit richtig ist, würde ich noch nicht sehen, wozu du die ganze Methode synchronisierst. Das holen eines Wertes in einem Thread ist eigentlich nichts was du sperren brauchst. Du kannst diesen Wert in einer lokalen Variable des Threads speichern. Nun kommt es nur noch zur Anzeige. Kann ein Wert X von mehr als einem Thread geholt werden, sollte natürlich die Anzeige synchronisiert werden (hier kannst du dann auf ein gemeinsames Objekt sperren). Nur bei der Anzeige könnte es dann zu einem konkurrierenden Zugriff kommen.
Gilt natürlich auch nur, wenn der Wert X an mehr als einer Stelle angezeigt werden soll. Ansonsten sehe ich auch dort eigentlich keine Probleme.
Gruß Der Unwissende