Free preview.You're sampling one lesson — enroll free to unlock all 8 lessons and track your progress.
Enroll free
lesson

Concurrency vs. Parallelism

Concurrency vs. Parallelism

In this lesson — part of Concurrency Basics — you'll learn concurrency vs. parallelism in C# and why it matters in real work.

Why it matters

Modern programs wait on networks and disks — async lets them stay responsive.

Key ideas

  • Blocking vs. non-blocking
  • Callbacks, promises, async/await
  • Concurrency vs. parallelism
  • Error handling in async code

In practice

Here's how it looks in idiomatic C#:

using System.Net.Http;
using System.Threading.Tasks;

async Task<string> FetchAsync(string url)
{
    using var client = new HttpClient();
    return await client.GetStringAsync(url);
}

string html = await FetchAsync("https://example.com");
Console.WriteLine(html.Length);

C# note: async methods should return Task/Task<T> (not void except for event handlers), and 'await' frees the thread while the operation is in flight.

Try it yourself

Exercise: In C#, fetch two things concurrently and combine the results.

Recap

You now understand concurrency vs. parallelism and can apply it in C#. Mark this lesson complete and continue to the next one.