Runnable/Callable Threads Executors/ExecutorService Futures Thread Safety Problem Example: Search Engine Solutions Runnable/Callable Runnable has a single method that returns no value. trait Runnable { def run(): Unit } Callable is similar to run except that it returns a value trait Callable[V] { def call(): V } Threads Scala concurrency is built on top of the Java concurrency model. On Sun JVMs,