Brug af Thread.join(time), design-spørgsmål
Ved brug af Thread.join(time) har jeg man ofte brug for at vide, om en tråd afsluttes før time, eller når time nås. Thread.join(time) returnerer imidlertid ikke en status-kode (ville det ikke være oplagt?), så jeg klarer normalt situationen ved at oprette et flag, som default sættes til 'false' ved start af tråden og siden til 'true' umiddelbart inden run() returnerer.Dette fungerer som udgangspunkt fint nok i det fleste situationer. I andre situationer bruger jeg for at spare kode imidertid en anonym indre klasse:
Thread t=new Thread(new Runnable() {
public void run() {
...
}
});
t.start();
t.join(time);
Hvordan kan jeg her på samme måde afgøre, om t.join(time) afbryder tråden før time, eller når time nås?
Som jeg ser det, kan jeg ikke uden videre oprette et flag i run(), som kendes uden for den anonyme indre klasse.
Jeg er klar over, at jeg i stedet for kunne oprette en "rigtig" klasse med flag inkluderet i konstruktøren, og jeg kunne sikkert også oprette flag som static, men jeg er overordnet interesseret i, om der er noget design-mæssigt jeg overser her.
