Scala 异步编程之 Future
同步代表这段代码中的逻辑必须执行完毕,而异步代表调用马上返回,但通常情况下是获取不到需要的值。
同步:val value={
Thread.sleep(2000)
1
}
异步: val value=Future{//我交给另外的一个新线程去做
Thread.sleep(1000000)
1
}
//看到没一个future就是将这个交给新线程我这个主线程继续执行下去
val value1=10
println(value1)
使用同步的方式在等待两秒后得到了数据输出
而在使用future后立马得到了输出说明了future的运行原理
异步编程的思路是:
在执行Future.apply{异步代码块}时,主线程将异步代码块交给新的线程,新起的线程负责异步代码块的计算,而主线程则解放出来,执行下一步。