Newer
Older
// 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