Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Swift Concurrency by Example, а также все другие курсы, прямо сейчас!
Купить сейчас
  • Урок 1. 00:04:13
    1. What is a synchronous function
  • Урок 2. 00:09:16
    2. What is an asynchronous function
  • Урок 3. 00:06:16
    3. How to create and call an async function
  • Урок 4. 00:03:38
    4. How to call async throwing functions
  • Урок 5. 00:07:31
    5. What calls the first async function
  • Урок 6. 00:04:49
    6. What's the performance cost of calling an async function
  • Урок 7. 00:07:50
    7. How to create and use async properties
  • Урок 8. 00:11:01
    8. How to call an async function using async let
  • Урок 9. 00:08:39
    9. Sending data safely across actor boundaries
  • Урок 10. 00:05:00
    10. What's the difference between await and async let
  • Урок 11. 00:01:28
    11. Why can't we call async functions using async var
  • Урок 12. 00:09:17
    12. How to use continuations to convert completion handlers into async functions
  • Урок 13. 00:04:35
    13. How to create continuations that can throw errors
  • Урок 14. 00:08:33
    14. How to store continuations to be resumed later
  • Урок 15. 00:01:42
    15. How to fix the error async call in a function that does not support concurrency
  • Урок 16. 00:05:37
    1. How to loop over an AsyncSequence using for await
  • Урок 17. 00:10:11
    2. How to manipulate an AsyncSequence using map, filter, and more
  • Урок 18. 00:14:25
    3. How to create a custom AsyncSequence
  • Урок 19. 00:03:15
    4. How to convert an AsyncSequence into a Sequence
  • Урок 20. 00:16:25
    5. How to create and use AsyncStreams to return buffered data
  • Урок 21. 00:12:59
    1. How to create and run a task
  • Урок 22. 00:10:33
    2. What's the difference between a task and a detached task
  • Урок 23. 00:01:58
    3. How to make a task sleep
  • Урок 24. 00:06:58
    4. How to get a result from a task
  • Урок 25. 00:07:22
    5. How to control the priority of a task
  • Урок 26. 00:04:41
    6. Understanding how priority escalation works
  • Урок 27. 00:10:05
    7. How to cancel a task
  • Урок 28. 00:04:01
    8. How to voluntarily suspend a task
  • Урок 29. 00:12:34
    9. How to create a task group and add tasks to it
  • Урок 30. 00:12:56
    10. How to cancel a task group
  • Урок 31. 00:09:25
    11. How to handle different result types in a task group
  • Урок 32. 00:06:12
    12. How to discard results in a task group
  • Урок 33. 00:02:31
    13. How to make async command-line tools and scripts
  • Урок 34. 00:14:22
    14. How to create and use task local values
  • Урок 35. 00:12:43
    15. How to run tasks with SwiftUI's task modifier
  • Урок 36. 00:08:12
    1. What is an actor and why does Swift have them
  • Урок 37. 00:09:34
    2. How to create and use an actor in Swift
  • Урок 38. 00:01:36
    3. Understanding actor initialization
  • Урок 39. 00:03:30
    4. How to make function parameters isolated
  • Урок 40. 00:04:15
    5. How to make parts of an actor nonisolated
  • Урок 41. 00:08:50
    6. How to use MainActor to run code on the main queue
  • Урок 42. 00:03:04
    7. Who decides which actor code runs on
  • Урок 43. 00:09:38
    8. What is actor hopping and how can it cause problems
  • Урок 44. 00:04:32
    9. What is actor reentrancy and how can it cause problems
  • Урок 45. 00:04:00
    1. How to write basic async tests
  • Урок 46. 00:13:43
    2. How to handle concurrency errors in unit tests
  • Урок 47. 00:04:42
    3. How to test completion handlers with Swift Testing and XCTest
  • Урок 48. 00:06:57
    4. How to test AsyncSequence and AsyncStream
  • Урок 49. 00:04:13
    5. How to set a time limit for concurrent tests
  • Урок 50. 00:03:50
    6. How to force concurrent tests to run on a specific actor
  • Урок 51. 00:02:15
    7. How to serialize parameterized tests with Swift Testing