Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Concurrency, Multithreading and Parallel Computing in Java, а также все другие курсы, прямо сейчас!
Премиум
  1. Урок 1. 00:01:37
    Introduction
  2. Урок 2. 00:06:13
    Processes and threads introduction
  3. Урок 3. 00:02:42
    What is time-slicing algorithm?
  4. Урок 4. 00:02:21
    Benefits of multithreading
  5. Урок 5. 00:02:47
    Downside of multithreading
  6. Урок 6. 00:02:45
    Thread life cycle in Java
  7. Урок 7. 00:04:23
    Sequential processing
  8. Урок 8. 00:06:29
    Starting threads - Runnable
  9. Урок 9. 00:05:28
    Starting threads - Thread class
  10. Урок 10. 00:04:39
    Wait for threads to finish - join
  11. Урок 11. 00:08:59
    Daemon threads and user threads
  12. Урок 12. 00:03:39
    Memory management of threads
  13. Урок 13. 00:07:38
    Synchronization
  14. Урок 14. 00:09:44
    Problems with synchronization
  15. Урок 15. 00:03:21
    Locking with custom objects
  16. Урок 16. 00:08:39
    Wait and notify
  17. Урок 17. 00:11:10
    Producer and consumer
  18. Урок 18. 00:06:15
    Locks
  19. Урок 19. 00:06:24
    Producer consumer with locks
  20. Урок 20. 00:01:35
    Locks and synchronization
  21. Урок 21. 00:06:04
    Volatile
  22. Урок 22. 00:01:19
    Stopping a thread
  23. Урок 23. 00:04:38
    Deadlock and livelock
  24. Урок 24. 00:06:21
    Deadlock example
  25. Урок 25. 00:06:25
    Livelock example
  26. Урок 26. 00:05:56
    Atomic variables
  27. Урок 27. 00:03:52
    What are semaphores?
  28. Урок 28. 00:05:29
    Mutexes and semaphores
  29. Урок 29. 00:07:20
    Semaphores example
  30. Урок 30. 00:04:49
    Why to use thread pools?
  31. Урок 31. 00:05:22
    Executors example - SingleThreadExecutor
  32. Урок 32. 00:04:12
    Executors example - FixedThreadPools
  33. Урок 33. 00:03:25
    Executors example - ScheduledExecutor
  34. Урок 34. 00:04:56
    Stopping executors
  35. Урок 35. 00:03:25
    What is a Callable interface and Future object?
  36. Урок 36. 00:07:41
    Callable and future example
  37. Урок 37. 00:09:07
    Latch
  38. Урок 38. 00:09:17
    Cyclic barrier
  39. Урок 39. 00:08:53
    Blocking queue
  40. Урок 40. 00:09:10
    Delay queue
  41. Урок 41. 00:10:30
    Priority queue
  42. Урок 42. 00:07:26
    Concurrent maps
  43. Урок 43. 00:09:33
    Exchanger
  44. Урок 44. 00:02:31
    Dining philosophers problem I - the problem
  45. Урок 45. 00:03:56
    Dining philosophers problems II - constants
  46. Урок 46. 00:08:04
    Dining philosophers problems III - chopstick
  47. Урок 47. 00:11:06
    Dining philosophers problems IV - philosopher
  48. Урок 48. 00:10:21
    Dining philosophers problems V - starting the threads
  49. Урок 49. 00:03:30
    Dining philosophers problems VI - running the simulation
  50. Урок 50. 00:01:25
    Student library simulation I - the problem
  51. Урок 51. 00:01:51
    Student library simulation II - constants
  52. Урок 52. 00:03:17
    Student library simulation III - book
  53. Урок 53. 00:02:58
    Student library simulation VI - student
  54. Урок 54. 00:02:41
    Locking: locks () and tryLock()
  55. Урок 55. 00:04:13
    Student library simulation V - running the simulation
  56. Урок 56. 00:01:44
    Miner game implementation I
  57. Урок 57. 00:03:56
    Miner game implementation II
  58. Урок 58. 00:02:16
    Miner game implementation III
  59. Урок 59. 00:03:36
    Miner game implementation IV
  60. Урок 60. 00:05:57
    Miner game implementation V
  61. Урок 61. 00:08:07
    Parallel methods versus multithreading
  62. Урок 62. 00:06:51
    Merge sort introduction I
  63. Урок 63. 00:08:55
    Merge sort introduction II
  64. Урок 64. 00:06:27
    Sequential merge sort I
  65. Урок 65. 00:06:48
    Parallel merge sort
  66. Урок 66. 00:04:46
    Comparing sorting implementations
  67. Урок 67. 00:02:45
    Sum problem introduction
  68. Урок 68. 00:04:29
    Sum problem - sequential approach
  69. Урок 69. 00:08:27
    Sum problem - parallel implementation
  70. Урок 70. 00:03:59
    Comparing sum implementations
  71. Урок 71. 00:05:45
    Fork-join framework introduction
  72. Урок 72. 00:09:15
    Fork-join framework simple example - RecursiveAction
  73. Урок 73. 00:07:57
    Fork-join framework simple example - RecursiveTask<T>
  74. Урок 74. 00:08:18
    Maximum finding - the algorithm
  75. Урок 75. 00:06:55
    Maximum finding - running the application
  76. Урок 76. 00:08:32
    Fork-join merge sort I
  77. Урок 77. 00:05:01
    Fork-join merge sort II
  78. Урок 78. 00:02:46
    What is the Stream API?
  79. Урок 79. 00:08:55
    Streams with numbers
  80. Урок 80. 00:03:44
    Streams with strings
  81. Урок 81. 00:04:53
    Processing files with streams
  82. Урок 82. 00:09:41
    Streams with custom objects
  83. Урок 83. 00:07:59
    Serial and parallel streams - counting prime numbers
  84. Урок 84. 00:06:02
    MapReduce introduction - basics
  85. Урок 85. 00:06:08
    MapReduce introduction - example
  86. Урок 86. 00:01:49
    MapReduce and Fork-Join