import Foundation
func downloadSync(path: String) -> (Data?, URLResponse?, Error?) {
var result: (Data?, URLResponse?, Error?)! = nil
let semaphore = DispatchSemaphore(value: 0)
let url = URL(string: path)!
let request = URLRequest(url: url)
URLSession.shared.dataTask(with: request) { data, response, error in
result = (data, response, error)
semaphore.signal()
}.resume()
semaphore.wait()
return result
}
let paths = ["http://qiita.com/mono0926/items/c32c008384df40bf4e41",
"http://qiita.com/mono0926/items/acef5cb3651620a355c3",
"http://qiita.com/mono0926/items/139014be6c15e32b9696"]
DispatchQueue.concurrentPerform(iterations: paths.count) { i in
let r = downloadSync(path: paths[i])
print(String(data: r.0!, encoding: .utf8))
}