Als je t1.join() aanroept dan zeg je dat er gewacht moet worden tot de Thread t1 eindigt.
Als t1 niet eindigt, maar gewoon periodisch resultaten aan t2 wil geven ofzo dan zijn er verschillende opties.
Je kan een mutex object aanmaken dat door t1 gelocked wordt. Je kan dan in t2 proberen van dat object ook te locken en dan zal Java t2 automatisch laten wachten tot dat lock vrijgegeven wordt. Als t1 klaar is met zijn werk, dan kan hij het lock opgeven en dan zal automatisch t2 geactiveerd worden.
Wat ook kan werken is dat je in t2 een constructie als volgt zet:
Code: Selecteer alles
try {
while(true)
t2.sleep(4000);
} catch (InterruptedException e) {
// ga verder
}
Als t1 dan klaar is kan t2.interrupt() aangeroepen worden.
Anders kan je ook
hier of
hier misschien inspiratie opdoen.