並列処理(XCODE Version 8.0 (8A218a))


並列処理の動作テスト用プログラムです。
シンプルにできたので公開します。
(playgroundではなく、Single View Applicationで実行してください、私はボタン一つつけて実行しました。)
let concurrentQueue = DispatchQueue(label: "test.queue", qos: .background , attributes: .concurrent) for i in 1 ... 10{ sleep(1) print("before concurrentQueus.sync",i) } concurrentQueue.async { for i in 1 ... 10{ sleep(1) print("in concurrentQueus.sync",i) } } for i in 1 ... 10{ sleep(1) print("after concurrentQueus.sync",i) } ||< 結果は >|| before concurrentQueus.sync 1 before concurrentQueus.sync 2 before concurrentQueus.sync 3 before concurrentQueus.sync 4 before concurrentQueus.sync 5 before concurrentQueus.sync 6 before concurrentQueus.sync 7 before concurrentQueus.sync 8 before concurrentQueus.sync 9 before concurrentQueus.sync 10 after concurrentQueus.sync 1 in concurrentQueus.sync 1 after concurrentQueus.sync 2 in concurrentQueus.sync 2 after concurrentQueus.sync 3 in concurrentQueus.sync 3 after concurrentQueus.sync 4 in concurrentQueus.sync 4 after concurrentQueus.sync 5 in concurrentQueus.sync 5 after concurrentQueus.sync 6 in concurrentQueus.sync 6 after concurrentQueus.sync 7 in concurrentQueus.sync 7 after concurrentQueus.sync 8 in concurrentQueus.sync 8 after concurrentQueus.sync 9 in concurrentQueus.sync 9 after concurrentQueus.sync 10 in concurrentQueus.sync 10
で、「in」と「after」が同時に処理をされていることが分かります。