iOS Concurrency with GCD and Operations - Part 1: | Ray Wenderlich

Get an in depth look at what’s covered in our video tutorial course iOS Concurrency with GCD & Operations.

This is a companion discussion topic for the original entry at

Links mentioned in this video:

Thank you, Audrey. I enjoyed your presentation.

Thanks for this course. I look forward to watch the next episodes. It’s very well done. :thumbsup:

This is really nice course but It left some doubts in my mind…

Is synchronous tasks in concurrent queue and async task in serial Queue is same??

hi Rakesh: I cover this in Part 2 — sync/async is about what happens on the source queue; serial/concurrent is about what happens on the destination queue, so the answer to your question is “no”: sync task on concurrent queue blocks its source queue and runs with other tasks on the concurrent queue; async task on serial queue doesn’t block its source, but must wait its turn in the serial queue

Hi Audrey,

Is it possible to return a value from main() in an asynchronous Operation ?
In this image, I would want to send a reference of the downloadTask to my DownloadManager class.

hi Preetham: you should supply a completion handler as one of the operation’s inputs; when the operation finishes, it sends back whatever you specify. In my upcoming URLSession video course, I write a QueryOperation subclass of AsyncOperation, and one of its input parameters is a completion handler that returns output and error when the operation finishes.

Thank you so much for the reply.
Please include Caching as a part of the URLSession video course too.
Love the way you explain… Thanks :slight_smile:

there’s a bit about caching policy … have a look when it comes out, and leave a comment if you’d like to know more.

an odd thing about the cache policy enumeration: when I tried changing from the default in playground, it kept showing a message that “this isn’t implemented”, so I’m not sure what’s going on there.

Video is terminating every now and then

thanks Martin! I’ll ask the web guys to check…

Hi Audrey, are you planning on upgrading this course to iOS 11, Xcode 9 and Swift 4?

good question!

pinging the bosses: @raywenderlich @jessycatterwaul @catie

Hi Kerolos,

Do you know of anything that happened between 2016 and 2017’s releases that you feel is not covered well enough in this release? This is incredibly important material, but I don’t know of anything new that warranted an update after last WWDC. I’m currently going with the idea of having this course updated after Swift 5 comes out, because I know that will represent a major change for concurrency. During WWDC, I plan to assess if that release will take too long. If it will, then an update for iOS 12, Xcode 10, and Swift 4.2 or so might make more sense.


Dear Miss Audrey,

If i want to learn more and understand deeply about iOS concurrency with GCD & Operations, besides your videos, does Raywenderlich’s bookstore have any books talk about it deeply like your videos too ?
If there is any books like this, would you please show me the title of that book?
Your support is really important to me.

Best regards,

hi! I can’t think of any of our books that cover concurrency in more detail than this course. We have a few tutorials: I include links to them in the course, or just search for them on the site.

1 Like

Dear Miss Audrey,
Thanks for your quick answer.
I will search from Raywenderlich site about this topic as your suggestion.
Once again, thank you so much for your reply.

1 Like

Hi Audrey very in depth tutorial,
Can I get to watch Sam Davies Concurrency tutorial? I could not find on the website

@virancheeind Here is the course link:

I hope it helps!

1 Like