def isSafe( i:Int) = {
var count = i
var acc = 0
while(count!=0){
acc += i*i
count -= 1
}
acc
}
答案 0 :(得分:7)
如果安全的话,你的意思是它会返回相同的结果,而不管调用它的线程数和顺序,那么是的,它是安全的。这是因为它不会修改任何共享内存位置,只修改其局部变量。
答案 1 :(得分:3)
这是安全的,没有可能导致跨线程污染的共享状态。
它也大大过于复杂,以下定义既短又快:
def isSafe(i: Int) = i * i * i