![[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 2)
268 learners
Level Intermediate
Course period 24 months


Reviews from Early Learners
5.0
giop15
Your explanations are very detailed and easy to understand!
5.0
sujinnaljin
As expected, Allen's lectures are always worth watching. The lectures themselves are great, but he also consistently provides high-quality answers to questions. I loved that I could gain so much more depending on how much I studied and asked questions on my own!
5.0
갱모
A lecture I'd recommend to those who want to study Swift Concurrency but find WWDC too difficult to watch
Understanding Swift Concurrency through CS
Concepts of existing thread pools, cooperative thread pools, and memory structures
Task isolation / Sendable
Basic Concepts of Actors - Isolated / Non-isolated
Utilization of Actors - Atomicity/Reentrancy/Hopping/Optimization
Actor - Initializer/Deinitializer/Protocol/Inheritance/Extension Rules
Global Actor / MainActor
AsyncSequence / AsyncStream
Implementation of Custom Executors and the Concept of Preferences
Transmission of Non-Sendable Types and Function Isolation Issues
(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, as the materials are optimized for the purpose of the lecture, some content may be difficult to understand when purchasing only the textbook. If you agree to this, it is possible to purchase only the textbook without purchasing the course.)
Subtitle: Properly learning Swift Concurrency to move forward with Swift 6
I believe that a solid foundation based on CS
and that detailed, subtle difference
are what set skill levels apart.
Since the introduction of 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 guarantee 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 have completed both Part-1 and Part-2, I believe you will have established the theoretical foundation necessary for the adoption of Swift 6.)
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 a single point of detail, akin to an obsession, makes the difference in skill, I always strive to provide various code examples and well-organized materials.)
Understanding concurrent 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: Applying AsyncStream to WebSockets
Sending non-Sendable types (sending)
Function (Closure) Isolation Issues - isolated (Actor)? = #isolation / @isolated(any)
Implementation of Custom Executors / Task Executor Preference
(Note) consume / consuming keywords
Advanced Grammar Rules for Actors - Initializers / Deinitializers / Protocols / Inheritance / Extensions
Moving from Swift 5 to Swift 6
Analyzing projects using Instruments
Proper understanding of Task / async / await
How asynchronous (async) functions work
Introduction to new asynchronous APIs related to URLSession
Use of Continuation: Converting (1) Callback functions / (2) Delegate patterns into asynchronous patterns
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 (Project example 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
Part-1 Lecture Link: https://inf.run/jXpfH
📌 It has the goal of covering Swift Concurrency programming from A to Z.
📌 It serves as the foundation for writing code that is safe across multiple threads starting from compile time (which is the goal of Swift 6).
📌 This is a lecture created by perfectly analyzing all existing WWDC videos related to Swift Concurrency.
📌 This course was created by referring to all existing Swift Evolution documents (GitHub).
📌 By analyzing numerous international books and lectures on Concurrency, I cover almost everything without leaving anything out.
📌 Various example projects
📌 So, it is 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.)
Providing various translated materials, including official documentation translations
To help you use your study time as efficiently as possible, we provide translations of official documentation, such as Swift 6 (Concurrency) 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 translated versions provided (Swift 6 - Concurrency / API Collection / Migrating to Swift 6)
Basic knowledge of Swift syntax—proficiency in using 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.2 or higher
Regarding the contents of this lecture, if I have referenced any illustrations or materials, the relevant URLs are provided in the PDF. Except for those cases, all materials were created by me; therefore, posting the contents of this lecture on a blog or sharing the e-book 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 a lifetime course. This course has a 24-month (2-year) limited access period. Please keep this in mind. (After experiencing several instances of my lectures being shared... and since I am not making a huge amount 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 ý. (Vì tôi đã nhiều lần gặp phải trường hợp chia sẻ khóa học của mình.. và so với thời gian và công sức tôi bỏ ra thì nó cũng không kiếm được số tiền lớn.. 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ẻ khóa học, mong các bạn rộng lòng thông cảm 🙏🏻)
Who is this course right for?
Those who want to engage in advanced learning of Swift Concurrency
For those who want to properly study even the CS (Computer Science) content
For those of you who want to master WWDC videos even more thoroughly!!!!!!
Need to know before starting?
Basics of the Swift Language
Basic knowledge level of concurrent programming
Inflearn Verified
7,669
Learners
773
Reviews
314
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
72 lectures ∙ (16hr 2min)
Course Materials:
All
29 reviews
5.0
29 reviews
Reviews 4
∙
Average Rating 5.0
Reviews 3
∙
Average Rating 5.0
Reviews 3
∙
Average Rating 5.0
Reviews 3
∙
Average Rating 5.0
Reviews 2
∙
Average Rating 5.0
Check out other courses by the instructor!
Explore other courses in the same field!
Limited time deal ends in 3 days
$130.90
30%
$187.00