Skip to content
Snippets Groups Projects
02-scala-wrapper.scala 333 B
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