{"schema_version":"bf_book_companion_v1","release_id":"20261010T034321Z-reviewed-full-unique-works","book":{"amazon_purchase_url":"https://www.amazon.com/dp/149205450X?tag=bookfrontie00-20","asin":"149205450X","authors":["Stephen Cleary"],"book_id":"9781492054504","canonical_url":"https://bookfrontier.com/books/concurrency-in-c-cookbook-9781492054504","cover_image_url":"https://img.bookfrontier.com/9781492054504.jpg?v=335d9fe9883d9185","description":"If you’re one of many developers still uncertain about concurrent and multithreaded development, this practical cookbook will change your mind. With more than 85 code-rich recipes in this updated second edition, author Stephen Cleary demonstrates parallel processing and asynchronous programming techniques using libraries and language features in .NET and C# 8.0. Concurrency is now more common in responsive and scalable application development, but it’s still extremely difficult to code. The detailed solutions in this cookbook show you how modern tools raise the level of abstraction, making concurrency much easier than before. Complete with ready-to-use code and discussions about how and why solutions work, these recipes help you: - Get up to speed on concurrency and async and parallel programming - Use async and await for asynchronous operations - Enhance your code with asynchronous streams - Explore parallel programming with .NET’s Task Parallel Library - Create dataflow pipelines with .NET’s TPL Dataflow library - Understand the capabilities that System.Reactive builds on top of LINQ - Utilize threadsafe and immutable collections - Learn how to conduct unit testing with concurrent code - Make the thread pool work for you - Enable clean, cooperative cancellation - Examine scenarios for combining concurrent approaches - Dive into asynchronous-friendly object-oriented programming - Recognize and write adapters for code using older asynchronous styles","forthcoming":false,"isbn13":"9781492054504","publication_date":"20191001","publisher":"O'Reilly Media","slug":"concurrency-in-c-cookbook","subtitle":"Asynchronous, Parallel, and Multithreaded Programming","title":"Concurrency in C# Cookbook"},"discovery":{"categories":{"all":[{"bisac_code":"COM051220","confidence_band":"medium","label":"Parallel Programming","score":0.8217,"source":"bisac_hint_model"},{"bisac_code":"COM051310","confidence_band":"high","label":"C# Programming","score":0.8112,"source":"bisac_hint_model"},{"bisac_code":"COM051380","confidence_band":"medium","label":"Windows Programming","score":0.7599,"source":"bisac_hint_model"}],"hint":[{"bisac_code":"COM051220","confidence_band":"medium","label":"Parallel Programming","score":0.8217,"source":"bisac_hint_model"},{"bisac_code":"COM051310","confidence_band":"high","label":"C# Programming","score":0.8112,"source":"bisac_hint_model"},{"bisac_code":"COM051380","confidence_band":"medium","label":"Windows Programming","score":0.7599,"source":"bisac_hint_model"}],"publisher":[{"bisac_code":"COM051210","confidence_band":"high","label":"Object-Oriented Programming","score":1,"source":"onix_publisher_code"},{"bisac_code":"COM051220","confidence_band":"high","label":"Parallel Programming","score":1,"source":"onix_publisher_code"},{"bisac_code":"COM051310","confidence_band":"high","label":"C# Programming","score":1,"source":"onix_publisher_code"},{"bisac_code":"COM051380","confidence_band":"high","label":"Windows Programming","score":1,"source":"onix_publisher_code"}]},"genres":[{"label":"Parallel Programming","score":0.8217,"slug":"parallel-programming"},{"label":"C# Programming","score":0.8112,"slug":"c-programming"},{"label":"Windows Programming","score":0.7599,"slug":"windows-programming"}],"reader_fit":["Developers seeking practical help with concurrent and multithreaded programming","C#/.NET developers exploring asynchronous and parallel techniques"],"related_lists":[],"series":null,"similar_books":[{"authors":["Nir Dobovizki"],"book_id":"9781633438651","cover_image_url":"https://img.bookfrontier.com/9781633438651.jpg?v=509b9d261830567a","score":0.8448,"title":"C# Concurrency","url":"https://bookfrontier.com/books/9781633438651"},{"authors":["Riccardo Terrell"],"book_id":"9781617292996","cover_image_url":"https://img.bookfrontier.com/9781617292996.jpg?v=c62e2eaacd9b283b","score":0.8249,"title":"Concurrency in .NET","url":"https://bookfrontier.com/books/9781617292996"},{"authors":["Anthony Williams"],"book_id":"9781617294693","cover_image_url":"https://img.bookfrontier.com/9781617294693.jpg?v=04e3bf6dad717f68","score":0.7923,"title":"C++ Concurrency in Action","url":"https://bookfrontier.com/books/9781617294693"},{"authors":["Brian Goetz","Tim Peierls","Joshua Bloch","Joseph Bowbeer"],"book_id":"9780321349606","cover_image_url":"https://img.bookfrontier.com/9780321349606.jpg?v=9b1275a03c5d539a","score":0.7587,"title":"Java Concurrency in Practice","url":"https://bookfrontier.com/books/9780321349606"},{"authors":["Jon Skeet"],"book_id":"9781617294532","cover_image_url":"https://img.bookfrontier.com/9781617294532.jpg?v=b3be4c934080ea6a","score":0.6974,"title":"C# in Depth","url":"https://bookfrontier.com/books/9781617294532"},{"authors":["Nathan Kozyra","Matt Butcher","Matt Farina"],"book_id":"9781633436886","cover_image_url":"https://img.bookfrontier.com/9781633436886.jpg?v=ddca36f63c90d822","score":0.6935,"title":"Go in Practice, Second Edition","url":"https://bookfrontier.com/books/9781633436886"},{"authors":["Vandad Nahavandipoor"],"book_id":"9781449311438","cover_image_url":"https://img.bookfrontier.com/9781449311438.jpg?v=594048b8856ee9d7","score":0.6815,"title":"iOS 5 Programming Cookbook","url":"https://bookfrontier.com/books/9781449311438"},{"authors":["Jeffrey Richter"],"book_id":"9780735667457","cover_image_url":"https://img.bookfrontier.com/9780735667457.jpg?v=7e13dc149a7f47b5","score":0.6746,"title":"CLR Via C#","url":"https://bookfrontier.com/books/9780735667457"}],"topics":[],"what_you_get":["Themes: Concurrent programming, Asynchronous programming, Parallel processing.","Reading lane: Parallel Programming and C# Programming.","Publisher: O'Reilly Media."]},"llm_signals":{"confidence":0.96,"pacing":"unknown","reader_fit":["Developers seeking practical help with concurrent and multithreaded programming","C#/.NET developers exploring asynchronous and parallel techniques"],"themes":["Concurrent programming","Asynchronous programming","Parallel processing"],"tropes":[]},"source_presence":{"amazon":true,"book_detail":true,"goodreads":true,"llm_signals":true,"similarity_seed":true},"stats":{"amazon_ratings_count":180,"goodreads_ratings_count":308,"goodreads_reviews_count":28,"quality_score":0.8993}}