![[Understanding with pictures] The most intuitive understanding of the concepts of sync and asyncCourse Thumbnail](https://cdn.inflearn.com/public/courses/324755/course_cover/ac23c8f7-6fc7-457f-874b-e2bff8ec0d50/infinf.png?w=420)
[Understanding with pictures] The most intuitive understanding of the concepts of sync and async
allen
This is a 19-minute lecture that will help you understand the concepts of synchronous and asynchronous programming very easily.
Basic
sync, async
Covering Swift Concurrency from A to Z. (Part 1)
591 learners
Level Basic
Course period 24 months


Reviews from Early Learners
5.0
김동현
I think this is a must-take course for learning Swift Concurrency. By comparing existing GCD with Swift Concurrency, I was able to clearly understand how the perspective on asynchronous programming has changed from the past to the present, and the explanation of structured concurrency was greatly helpful. Please continue to provide many great courses in the future!
5.0
Bana
The content is so good.... I hope Alan will film more iOS lectures He clearly emphasizes important concepts and explains them repeatedly, so I think it's easy to remember It's such a good lecture that I want to listen to it alone, but I'll leave a review 😊😊
5.0
qowiedncz
I think you explain things so well and in a way that is easy to understand. I am a professional in the field and I am getting a lot of help. I am truly, truly grateful!
Swift Concurrency
Task / async / await (Asynchronous processing)
New APIs related to async/await
How to use Continuation
Structured Concurrency
async let / TaskGroup (Parallel Processing Techniques)
Cancellation (Cancellation)
How to use Task-Local variables
(Cancel Task) Project Application Case Studies
(It took over a year to produce the textbook for this course. As it covers the most optimal/best content for learning and provides more detailed information than any other Swift Concurrency-related material on the planet, we ask for your understanding that the textbook is sold separately to maintain the quality of the course. Purchasing the textbook is optional. You are more than welcome to purchase only the course.)
Swift Concurrency for Swift 6 by Allen (Part -1 / Part -2 Integrated Textbook)
Seller Link: https://smartstore.naver.com/allenschool/products/11528874881
(30,000 KRW)
You may purchase the textbook separately even if you do not take this course. (However, since the materials are optimized for the course, some content may be difficult to understand if you only purchase the textbook. If you agree to this, you may purchase the textbook without purchasing the course.)
Subtitle: Properly learning Swift Concurrency programming to move toward Swift 6
I believe that a solid foundation based on CS
and a detailed, subtle difference
are what create the gap in skill.
Since the introduction of the new Swift Concurrency in version 5.5, Swift has undergone step-by-step preparations and has finally been updated to version 6. One of the core goals of Swift version 6 is to ensure safety by eliminating the potential for data races (Race Condition/Data-Races) and enabling the implementation of thread-safe code from the compilation stage.
(We are at a turning point for the gradual introduction of Swift 6.)
Therefore, this course is designed with the goal of gradually moving toward Swift 6 by learning everything related to Swift Concurrency—that is, from A to Z. Please refer to the main contents of this course below, and since the first course introduction video explains the details of the curriculum, please refer to that as well.
(Once you complete up to Part-2, I believe the theoretical foundation for the introduction of Swift 6 will be complete.)
As is always my personal goal for my lectures, I cover more detailed and in-depth content than any other Swift Concurrency-related lecture on Earth. (Because I believe that obsessive, detailed differences are what create the gap in skill, I always strive to provide various code examples and organized materials.)
Proper understanding of Task / async / await
How asynchronous (async) functions work
Introduction to new asynchronous APIs related to URLSession
Using Continuations: Converting (1) Callback functions / (2) Delegate patterns into asynchronous methods
Project example of converting the CoreLocation delegate pattern to async/await
Theoretical content of structured concurrency
Parallel Processing - (1) async let (2) TaskGroup
Understanding how task cancellation works (Example project related to task cancellation)
Understanding the Cooperative Cancellation Model
Applications of Structured Concurrency and Task Cancellation
Application of TaskGroup (Specifying the number of concurrent threads - custom settings)
Utilization of Task-Local Variables
Understanding concurrency programming from a Computer Science perspective (Understanding thread/memory structures)
Data Isolation / Task Isolation / Actor Isolation (Understanding the concept of isolation)
Task Isolation and Shared Mutable State (Shared Data)
Sendable Types (Data types that are safe to share across threads)
Mastering Actors (1) Isolation/Non-isolation (2) Atomicity (3) Reentrancy (4) Actor Hopping
(5) Blocking the MainActor (6) Resolving Actor Contention
Global Actors and MainActor
Project example: Implementing a cache with Actors
AsyncSequence and AsyncStream
Project example of applying AsyncStream to WebSockets
Sending non-Sendable types (sending)
Issues related to function (closure) isolation - isolated (Actor)? = #isolation / @isolated(any)
Implementation of Custom Executors / Task Executor Preference
(Note) consume / consuming keywords
Advanced Actor Syntax Rules - Initializers / Deinitializers / Protocols / Inheritance / Extensions
Moving from Swift 5 to Swift 6
Analyzing projects using Instruments
Part-2 Lecture Link: https://inf.run/TyZcJ
📌 It has the goal of covering Swift Concurrency programming from A to Z.
📌 It serves as a foundation for writing code that is safe across multiple threads starting from compile time (which is the goal of Swift 6).
📌 This course was created by perfectly analyzing all existing WWDC videos related to Swift Concurrency.
📌 By analyzing numerous international books and lectures on Concurrency, I cover almost every detail without leaving anything out.
📌 Various example projects
📌 That's why it's more detailed than any other Swift Concurrency course on Earth !!!!
📌 (As my lectures have always been) I provide separate learning materials for the most intuitive understanding and organization possible.
Separate textbook (E-book PDF) available for purchase
To ensure the most intuitive explanation, I provide a separate 300-page textbook.
(The textbook must be purchased separately.)
Provision of various translated materials, including official documentation translations
To help you make the most efficient use of your study time, we provide translations of official documentation, such as the Swift 6 (Concurrency) guide and the API Collection.
Providing various project example code materials
In addition to theoretical content, you will engage in in-depth learning by directly applying what you've learned to projects.
Theoretical learning code materials provided
A variety of playground code examples are provided for the best theoretical learning experience.
For Lecture - E-book PDF (Textbook) Sold Separately (Part-1 / Part-2 Integrated Textbook)
Link: https://smartstore.naver.com/allenschool/products/11528874881
(Code materials other than the textbook are provided free of charge.)
Code materials provided /
Project examples provided
Multiple translations provided (Swift 6 - Concurrency / API Collection / Migrating to Swift 6)
Basic proficiency in Swift syntax—the ability to freely use functions, closures, etc.
Basic knowledge of handling existing asynchronous callback functions, DispatchQueue, etc.
Experience handling network call APIs (such as URLSession) with Swift
Basic level of knowledge in UIKit and SwiftUI
macOS Sequoia / Xcode 16 (Playground theory learning is also possible in Xcode 15.3 ~ 15.4)
For the contents of this lecture, if I have referenced any illustrations or materials, the relevant URLs are provided in the PDF. Since all other materials except for those cases were created by me, posting the contents of this lecture on a blog or sharing the e-book textbook PDF files used as lecture materials is strictly prohibited under any circumstances..
(Please be aware that you may be held legally liable if you violate these license-related terms.)
Q. Is the course available for lifetime access?
A. It is not lifetime access. This course has a 24-month (2-year) access period limit. Please keep this in mind. (After experiencing several cases of my lectures being shared... and since I don't earn a lot of money compared to the time and effort I put in... this is simply the best measure I can take to prevent lecture sharing, so I ask for your generous understanding 🙏🏻). Xin vui lòng lưu ý. (Sau nhiều lần trải qua các trường hợp chia sẻ trái phép bài giảng của mình.. và vì tôi cũng không kiếm được số tiền quá lớn so với thời gian và công sức bỏ ra.. nên đây chỉ là biện pháp tốt nhất mà tôi có thể làm để ngăn chặn việc chia sẻ bài giảng, mong các bạn rộng lòng thông cảm 🙏🏻)
If you have ever taken the Grammar Bootcamp..? 🙋🏻♂️🙋🏻♀️
If you have ever taken my Swift Master School (2-month course), please contact me via Slack and... I will provide a free voucher for this Part-1 course. (Please check the general announcements on the Bootcamp Slack.)
Who is this course right for?
Those who want to properly master Swift Concurrency programming
Those who want to gain a deep, theoretical understanding of concurrent programming.
For those of you who want to master WWDC videos inside and out!!!!!!
Need to know before starting?
Basics of the Swift Language
Inflearn Verified
7,693
Learners
776
Reviews
315
Answers
5.0
Rating
7
Courses
I'm Allen, an iOS Developer.
https://www.youtube.com/@allen_ios
"Knowledge that is accurately understood must be easily explainable in one's own words." is my motto.
Therefore, I want to be a developer who can share knowledge in a language anyone can understand by simplifying the trial and error I experienced while studying.
I am not interested in creating courses that only teach easy topics superficially in a short amount of time.
While such courses can be churned out quickly, I believe that ultimately, "growing into a good developer" requires a solid foundation of theoretical knowledge.
Rather than just an easy course, my goal is to teach even the difficult concepts that one
must know to become a good developer (a developer who can grow continuously) as easily and intuitively as possible.
Thus, my objective is to build a foundation that allows you, not me, to contemplate and think about the "WHY" yourself.
Just as I strive to become a better developer tomorrow,
I want to convey the things I have pondered in great depth.
I believe that repeatedly failing interviews or being unable to express even simple concepts in your own words means you do not have a precise understanding of them. On the contrary, I believe that one can grow rapidly only when they have a "solid foundation" in basic concepts and CS.
👇🏻For inquiries, please contact me at the email address below.
we.love.code.allen@gmail.com
Language: Swift, Python, Java, C#
All
50 lectures ∙ (11hr 38min)
Course Materials:
All
71 reviews
5.0
71 reviews
Reviews 4
∙
Average Rating 5.0
Reviews 17
∙
Average Rating 5.0
5
The instructor explained everything so meticulously and in such detail that I was able to fully understand concepts that I only had a vague understanding of before. In particular, what impressed me most about this lecture was the excellent examples of how it is applied to real projects. It wasn't just a simple delivery of theory, but the practical examples made it much easier to understand, and I also gained confidence that I could apply it directly to my actual work.
Reviews 2
∙
Average Rating 5.0
Edited
Reviews 6
∙
Average Rating 5.0
Reviews 6
∙
Average Rating 5.0
5
I think this is a must-take course for learning Swift Concurrency. By comparing existing GCD with Swift Concurrency, I was able to clearly understand how the perspective on asynchronous programming has changed from the past to the present, and the explanation of structured concurrency was greatly helpful. Please continue to provide many great courses in the future!
Check out other courses by the instructor!
Explore other courses in the same field!