2010-11-26 33 views
1
def isSafe(i:Int) = { 
    var count = i 
    var acc = 0 
    while(count!=0){ 
     acc += i*i 
     count -= 1 
    } 
    acc 
    } 
+0

你的意思是'不count``cont`的循環? – axel22 2010-11-26 10:46:13

+0

除了錯字,我不明白爲什麼不,但我不是斯卡拉的傢伙。 – Lazarus 2010-11-26 10:46:27

回答

7

如果通過安全,您的意思是它會返回相同的結果,而不依賴於多少個線程調用它並按照哪個順序,那麼是的,這是安全的。這是因爲它不會修改任何共享內存位置,只會修改其局部變量。

3

這是安全的,沒有可能導致跨線程污染的共享狀態。

它也大量過於複雜,下面的定義是既短,速度快:

def isSafe(i: Int) = i * i * i