// Lecture 1 : Page 11 / 15 package lecture1 class ThreadReturning[A](toRun: => A) extends Thread : var result: A = compiletime.uninitialized override def run(): Unit = result = toRun def joinMe: A = join() result def thread[A](toRun: => A): ThreadReturning[A] = val t = ThreadReturning(toRun) t.start() t