Hab schon gegoogelt aber keine explizite antwort erhalten...
Folgendes Szenario:
MainThread erstellt ein Objekt mit einer List mit komplexen Typen.
Die Elemente der Liste müssen möglichst fix abgearbeitet werden, also nehme ich momentan die Nutzdaten aus dem Typ und steck sie in eine Abarbeitungs-Queue (ConcurrentLinkedQueue).
Problem ist, dass mir das List-erstellen zulange dauert, also würde ich gerne das Objekt selber an meine Arbeiter rausgeben, die dann die Liste erstellen und abarbeiten.
Die Frage ist jetzt folgende:
"liegt" das Objekt im MainThread?
Bei Zugriffen von anderen Threads über eine Referenz auf das Objekt, muss die "Übertragung" vom MainThread geleistet werden, weils in "seinem" RAM liegt? In
Oder gehen die Arbeiter direkt auf den Speicher vom andern Thread? In so einem Fall würde ich natürlich viel Zeit sparen!
Folgendes Szenario:
MainThread erstellt ein Objekt mit einer List mit komplexen Typen.
Die Elemente der Liste müssen möglichst fix abgearbeitet werden, also nehme ich momentan die Nutzdaten aus dem Typ und steck sie in eine Abarbeitungs-Queue (ConcurrentLinkedQueue).
Problem ist, dass mir das List-erstellen zulange dauert, also würde ich gerne das Objekt selber an meine Arbeiter rausgeben, die dann die Liste erstellen und abarbeiten.
Die Frage ist jetzt folgende:
"liegt" das Objekt im MainThread?
Bei Zugriffen von anderen Threads über eine Referenz auf das Objekt, muss die "Übertragung" vom MainThread geleistet werden, weils in "seinem" RAM liegt? In
Oder gehen die Arbeiter direkt auf den Speicher vom andern Thread? In so einem Fall würde ich natürlich viel Zeit sparen!