Avatar
並列可能な処理を非同期化してみようと思っているのですが、一つの配列に並列で値を書き込むということはできないんでしょうか?以下のコードは leave のとこで EXC_BAD_INSTRUCTION が出てしまいます。count1 にすると通るのですが。 var a = Array(repeating: 0, count: 10) let group = DispatchGroup() group.enter() for i in a.indices { DispatchQueue.global().async { a[i] = i group.leave() // EXC_BAD_INSTRUCTION } } group.wait() print(a) // [0, 1, ..., 9] と出て欲しい (edited)