C# Concurrency, Video Edition

C# Concurrency, Video Edition

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 6h 57m | 1.07 GB

Supercharge your applications with the ultimate guide to asynchronous and multithreaded programming in C#!

C# Concurrency teaches you how to write effective multithreaded and asynchronous software in C#. Practical techniques, real-world examples, and useful code samples cut through the confusion around async/await and help you write rapid, reliable, and bug-free code.

In C# Concurrency: Asynchronous and Multithreaded Programming you’ll learn how to:

  • Take full advantage of async/await
  • Write bug-free multithreaded code every time
  • Create multithreaded code that delivers real performance improvements
  • Grok C# and .NET multithreading and asynchronous primitives
  • Know when to use concurrency techniques—and when not to use them!

In C# Concurrency Nir Dobovizki, a seasoned C# veteran with over 30 years of high-performance programming experience, shares his deep knowledge and expert techniques. Say goodbye to frustrating pitfalls and impossible-to-find bugs that slow down your applications. Nir’s careful approach will teach you how to navigate these challenges with ease, allowing you to achieve lightning-fast performance like never before!

Asynchronous and multithreaded programs can perform multiple tasks simultaneously without losing speed or reliability. But getting concurrency right can challenge even experienced developers. This practical book teaches you to deliver concurrent C# apps that are lighting fast and free of the deadlocks and other synchronization issues that undermine performance and take forever to find.

C# Concurrency equips programmers with a comprehensive understanding of multithreading and asynchronous programming, focusing on the practical use of the C# async-await feature to simplify asynchronous tasks. It teaches how to avoid common pitfalls, addresses classic multithreading issues like deadlocks and race conditions, and advanced topics such as controlling thread of execution and using thread-safe collections.

  • What’s Inside
  • .NET multithreading and asynchronous primitives
  • When to use concurrency techniques—and when not to!
  • Confidently use async/await
Table of Contents

1 Chapter_1._Asynchronous_programming
2 Chapter_1._Asynchronous_programming_and_multithreading
3 Chapter_1._Introducing_multicore_CPUs
4 Chapter_1._Software_efficiency_and_cloud_computing
5 Chapter_1._Summary
6 Chapter_1._Using_multithreading_and_asynchronous_programming_together
7 Chapter_2._Summary
8 Chapter_2._The_compiler_rewrites_your_code
9 Chapter_2._Yield_return
10 Chapter_3._How_does_asyncawait_work
11 Chapter_3._Introducing_Task_and_TaskT
12 Chapter_3._Summary
13 Chapter_3._The_async_and_await_keywords
14 Chapter_3._ValueTask_and_ValueTaskT
15 Chapter_3._What_about_multithreading
16 Chapter_3._async_void_methods
17 Chapter_4._Accessing_the_same_variables_from_multiple_threads
18 Chapter_4._Multithreading_basics
19 Chapter_4._Other_synchronization_methods
20 Chapter_4._Special_considerations_for_native_UI_apps
21 Chapter_4._Summary
22 Chapter_4._Thread_settings
23 Chapter_4._Waiting_for_another_thread
24 Chapter_5._Locks_and_asyncawait
25 Chapter_5._Summary
26 Chapter_5._UI_threads
27 Chapter_5._Where_does_code_run_after_await
28 Chapter_5._asyncawait_and_multithreading
29 Chapter_6._Asynchronous_benefits_on_native_client_applications
30 Chapter_6._Summary
31 Chapter_6._The_downside_of_asyncawait
32 Chapter_6._When_to_use_asyncawait (1)
33 Chapter_6._When_to_use_asyncawait
34 Chapter_7._Classic_multithreading_pitfalls_and_how_to_avoid_them
35 Chapter_7._Deadlocks
36 Chapter_7._Memory_access_reordering
37 Chapter_7._Race_conditions
38 Chapter_7._Starvation
39 Chapter_7._Summary
40 Chapter_7._Synchronization
41 Chapter_8._Processing_a_sequence_of_items_in_the_background
42 Chapter_8._Processing_items_sequentially_in_the_background
43 Chapter_8._Summary
44 Chapter_9._Canceling_background_tasks
45 Chapter_9._Canceling_using_an_exception
46 Chapter_9._Combining_cancellation_methods
47 Chapter_9._Getting_a_callback_when_the_caller_cancels_our_operation
48 Chapter_9._Implementing_timeouts
49 Chapter_9._Special_cancellation_tokens
50 Chapter_9._Summary
51 Chapter_10._Await_your_own_events
52 Chapter_10._Choosing_where_continuations_run
53 Chapter_10._Example_Adapting_old_APIs
54 Chapter_10._Example_Asynchronous_data_structures
55 Chapter_10._Example_Waiting_for_initialization
56 Chapter_10._Old-style_asynchronous_operations_(BeginXXX,_EndXXX)
57 Chapter_10._Summary
58 Chapter_11._Breaking_away_ConfigureAwait(false)
59 Chapter_11._Controlling_on_which_thread_your_asynchronous_code_runs
60 Chapter_11._Letting_other_code_run_Task.Yield
61 Chapter_11._More_ConfigureAwait_options
62 Chapter_11._Summary
63 Chapter_11._Synchronization_contexts
64 Chapter_11._Task_schedulers
65 Chapter_12._Exceptions_and_async_void_methods
66 Chapter_12._Exceptions_and_asyncawait
67 Chapter_12._Summary
68 Chapter_12._The_case_of_the_lost_exception
69 Chapter_12._await_and_AggregateException
70 Chapter_13._Summary
71 Chapter_13._The_concurrent_collections
72 Chapter_13._The_frozen_collections
73 Chapter_13._The_immutable_collections
74 Chapter_13._Thread-safe_collections
75 Chapter_14._Canceling_an_asynchronous_collection
76 Chapter_14._Example_BlockingCollectionT-like_asynchronous_queue
77 Chapter_14._Example_Iterating_over_asynchronously_retrieved_data
78 Chapter_14._Generating_an_asynchronous_collection
79 Chapter_14._Generating_collections_asynchronouslyawait_foreach_and_IAsyncEnumerable
80 Chapter_14._IAsyncEnumerableT_and_LINQ
81 Chapter_14._Other_options
82 Chapter_14._Summary
83 Part_1._Asynchronous_programming_and_multithreading_basics
84 Part_2._Advanced_uses_of_asyncawait_and_multithreading

Homepage