1. Урок 1.00:03:16
    What You Get From This Course
  2. Урок 2.00:01:53
    Java and Kotlin
  3. Урок 3.00:04:02
    Tutorial Application Overview and Important Info
  4. Урок 4.00:03:50
    Motivation for Hardware Intuition
  5. Урок 5.00:03:31
    CPU Operation Basics
  6. Урок 6.00:04:02
    Single-Tasking System
  7. Урок 7.00:03:57
    Cooperative Multitasking System
  8. Урок 8.00:04:38
    Preemptive Multitasking System
  9. Урок 9.00:04:36
    Multiprocessing System
  10. Урок 10.00:04:45
    Android Processes and Threads
  11. Урок 11.00:04:00
    java.lang.Thread Class
  12. Урок 12.00:03:33
    Exercise 1
  13. Урок 13.00:07:17
    Garbage Collector in Android
  14. Урок 14.00:08:25
    Memory Leaks in Android
  15. Урок 15.00:08:09
    Threads Termination
  16. Урок 16.00:05:33
    Exercise 2
  17. Урок 17.00:02:19
    Thread Class, Garbage Collector, Memory Leaks Summary
  18. Урок 18.00:03:05
    UI Thread vs Background Thread in Android
  19. Урок 19.00:02:23
    Demonstration of UI Thread
  20. Урок 20.00:03:42
    User Interface Responsiveness
  21. Урок 21.00:02:53
    Protection of User Interface from Background Threads
  22. Урок 22.00:06:14
    Execution of Code on UI Thread
  23. Урок 23.00:16:33
    Handler and Looper Intuition
  24. Урок 24.00:02:04
    Exercise 3
  25. Урок 25.00:02:37
    UI Thread in Android Applications Summary
  26. Урок 26.00:02:47
    Introduction To Multithreading Challenges
  27. Урок 27.00:07:05
    Visibility
  28. Урок 28.00:10:31
    Atomicity
  29. Урок 29.00:08:10
    Volatile Variables
  30. Урок 30.00:09:23
    Atomic Classes
  31. Урок 31.00:22:16
    Threads Synchronization
  32. Урок 32.00:07:07
    Immutability
  33. Урок 33.00:10:46
    Happens Before
  34. Урок 34.00:17:47
    Happens Before Demonstration
  35. Урок 35.00:11:11
    Exercise 4
  36. Урок 36.00:19:24
    Exercise 4 Solution
  37. Урок 37.00:09:52
    Multithreading Challenges Summary
  38. Урок 38.00:05:37
    Pausing Threads
  39. Урок 39.00:09:38
    Thread Sleep
  40. Урок 40.00:21:22
    Thread Wait
  41. Урок 41.00:06:31
    Thread Join
  42. Урок 42.00:08:00
    Exercise 5
  43. Урок 43.00:15:44
    Solution Exercise 5
  44. Урок 44.00:03:47
    Paused (Blocked) Threads Summary
  45. Урок 45.00:03:06
    Importance of Clean Design
  46. Урок 46.00:31:06
    Refactoring to Use Case and Observer
  47. Урок 47.00:02:03
    Java 8 Lambdas
  48. Урок 48.00:02:33
    Exercise 6
  49. Урок 49.00:01:24
    Clean Design of Multithreaded Code Summary
  50. Урок 50.00:10:56
    Simple Cached Thread Pool
  51. Урок 51.00:07:42
    Thread Pool Issues
  52. Урок 52.00:18:31
    Custom Configuration Of ThreadPoolExecutor
  53. Урок 53.00:07:53
    Interplay Between Core Threads and Keep Alive Time
  54. Урок 54.00:11:30
    Misconfiguration of ThreadPoolExecutor in AsyncTask
  55. Урок 55.00:12:00
    Providing Multithreading Classes Using Dependency Injection
  56. Урок 56.00:02:58
    Exercise 7
  57. Урок 57.00:05:46
    Thread Pool Summary
  58. Урок 58.00:01:41
    Why You Need to Know AsyncTask
  59. Урок 59.00:16:47
    AsyncTask Demonstration and Highlight of Issues
  60. Урок 60.00:05:59
    AsyncTask Summary
  61. Урок 61.00:05:10
    ThreadPoster Demonstration
  62. Урок 62.00:01:06
    Exercise 8
  63. Урок 63.00:04:29
    ThreadPoster Summary
  64. Урок 64.00:00:59
    RxJava Introduction
  65. Урок 65.00:18:02
    RxJava Observable
  66. Урок 66.00:07:29
    RxJava Disposable
  67. Урок 67.00:08:18
    RxJava Advanced Multithreading
  68. Урок 68.00:03:06
    Exercise 9
  69. Урок 69.00:04:54
    RxJava Summary
  70. Урок 70.00:07:09
    Kotlin and Corooutines
  71. Урок 71.00:20:50
    Coroutines Demonstration
  72. Урок 72.00:11:07
    Nested Coroutines
  73. Урок 73.00:22:17
    Coroutines Dispatchers
  74. Урок 74.00:15:58
    Coroutines Cancellation
  75. Урок 75.00:20:02
    Non Cancellable Coroutines
  76. Урок 76.00:01:30
    Exercise 10
  77. Урок 77.00:13:22
    Coroutines Summary
  78. Урок 78.00:07:10
    Summary