Avatar
Kishikawa Katsumi 10/23/2018 4:35 AM
一般的にスレッドセーフにするのは余分なコストがかかるし難しいのでデフォルトがスレッドアンセーフというのは合理的だと思います。
4:40 AM
import Foundation let semaphore = DispatchSemaphore(value: 0) var array = [Int]() DispatchQueue.global().async { for i in 0...1000 { array.append(i) } print("end 1") } DispatchQueue.global().async { for i in 0...1000 { array.append(i) } print("end 2") } DispatchQueue.global().async { for i in 0...1000 { array.append(i) } print("end 3") } semaphore.wait()
4:40 AM
^ Botだとよくわからなかったけど、こういうコードはArrayはクラッシュします。