Hey Leute,
ich habe folgendes Grundgerüst:
Diese Klasse wqir mit 3 Druckern initialisiert.
Dann laufen 5 Threads, die heweils 9 Dokumente "drucken" wollen.
Dabei darf ein Drucker ja nicht 2 Dokumente gleichzeitig drucken.
Meine Frage ist nun, wie kann ich Arrays so synchronisieren, dass immer nur ein Thread auf ein ArrayIndex zugreifen kann. Also zum Beispiel
Thread 1 greift auf drucker[0] zu und Thread 2 auf drucker[1]
Mir ist klar, wie ich das gesamte Array synchronisieren kann aber dann kann immer nur 1 Thread auf das gesamte Array zugreifen, was ja nicht so gedacht ist.
Über Lösungsansätze wäre ich sehr dankbar, denn ich steh gerade total auf dem Schlacuh. =\
MfG Plastagen
ich habe folgendes Grundgerüst:
Java:
public class DruckdienstMonitor implements Druckdienst
{
private final Drucker[] drucker;
public DruckdienstMonitor(Drucker[] drucker)
{
this.drucker = drucker;
}
public void drucke(String str)
{
}
}
Diese Klasse wqir mit 3 Druckern initialisiert.
Dann laufen 5 Threads, die heweils 9 Dokumente "drucken" wollen.
Dabei darf ein Drucker ja nicht 2 Dokumente gleichzeitig drucken.
Meine Frage ist nun, wie kann ich Arrays so synchronisieren, dass immer nur ein Thread auf ein ArrayIndex zugreifen kann. Also zum Beispiel
Thread 1 greift auf drucker[0] zu und Thread 2 auf drucker[1]
Mir ist klar, wie ich das gesamte Array synchronisieren kann aber dann kann immer nur 1 Thread auf das gesamte Array zugreifen, was ja nicht so gedacht ist.
Über Lösungsansätze wäre ich sehr dankbar, denn ich steh gerade total auf dem Schlacuh. =\
MfG Plastagen