Cantitate/Preț
Produs

Grokking Concurrency

Autor Kirill Bobrov
en Limba Engleză Hardback – 6 feb 2024

Remarcăm încă din primele capitole o abordare neconvențională pentru un subiect tehnic: autorul Kirill Bobrov utilizează metafora unei orchestre de caracatițe pentru a vizualiza execuția paralelă. Un exercițiu concret care demonstrează eficiența metodei este implementarea unui sistem de procesare asincronă pentru o pizzerie ipotetică, unde cititorul învață să gestioneze fluxurile de date fără a bloca resursele sistemului. Această tranziție de la execuția secvențială la modelul non-blocant este esențială pentru oricine dezvoltă aplicații web moderne sau sisteme IoT. Credem că punctul forte al volumului Grokking Concurrency rezidă în capacitatea de a demistifica mecanismele interne ale sistemelor de operare. Autorul explică modul în care procesele comunică și cum pot fi descompuse sarcinile complexe pentru a profita de arhitecturile hardware actuale. Deși exemplele sunt scrise în Python, conceptele de sincronizare și gestionare a memoriei sunt universale, fiind aplicabile indiferent de limbajul de programare utilizat. Ritmul este unul progresiv, punând accent pe reziliența sistemelor în fața erorilor de hardware sau software. Complementar volumului Effective Concurrency in Go, care se concentrează pe primitivele specifice ecosistemului Google, Grokking Concurrency oferă o bază conceptuală mai largă, fiind ideal pentru cei care nu au experiență prealabilă în programarea de înaltă performanță. În timp ce Java Concurrency in Practice este un reper pentru dezvoltatorii JVM, lucrarea de față este mult mai accesibilă vizual, transformând teoria aridă a algoritmilor de sincronizare într-o serie de practici aplicabile imediat în proiecte de big data sau scalare web.

Citește tot Restrânge

Preț: 26846 lei

Preț vechi: 33558 lei
-20%

Puncte Express: 403

Carte disponibilă

Livrare economică 13-27 mai
Livrare express 28 aprilie-02 mai pentru 12175 lei


Specificații

ISBN-13: 9781633439771
ISBN-10: 1633439771
Pagini: 304
Dimensiuni: 187 x 232 x 18 mm
Greutate: 0.57 kg
Editura: Manning Publications

De ce să citești această carte

Recomandăm această carte programatorilor care doresc să treacă de la codul secvențial la sisteme scalabile, fără a se pierde în demonstrații matematice. Veți câștiga o înțelegere clară a modului în care funcționează multithreading-ul și procesarea paralelă, învățând să evitați erorile clasice de sincronizare. Este un ghid practic esențial pentru optimizarea performanței aplicațiilor moderne pe hardware multicore.


Descriere scurtă

Grokking Concurrency is an easy-to-read, hands-on guide that that will help you leverage multiple cores and terabytes of data and excel with high loads even after hardware and software failures. With clear explanations of core concepts, interesting illustrations, and examples, this is the ideal textbook to help you demystify concurrency concepts.

Descriere

This easy-to-read, hands-on guide demystifies concurrency concepts like threading, asynchronous programming, and parallel processing in any language. Perplexed by concurrency? Don’t be. This engaging, fully-illustrated beginner’s guide gets you writing the kind of high-performance code your apps deserve. Inside, you’ll find thorough explanations of concurrency’s core concepts—all explained with interesting illustrations, insightful examples, and detailed techniques you can apply to your own projects. In Grokking Concurrency you will: Get up to speed with the core concepts of concurrency, asynchrony, and parallel programming Learn the strengths and weaknesses of different hardware architectures Improve the sequential performance characteristics of your software Solve common problems for concurrent programming Compose patterns into a series of practices for writing scalable systems Write and implement concurrency systems that scale to any size Discover effective concurrency practices that will help you leverage multiple cores, excel with high loads, handle terabytes of data, and continue working after hardware and software failures. The core concepts in this guide will remain eternally relevant, whether you’re building web apps, IoT systems, or handling big data. Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications. About the technology Concurrency is an approach to running computer programs efficiently by separating them into tasks that can execute independently. This basic idea makes it possible to accelerate game graphics, train large AI models, rapidly scale web applications, streamline big data processing, and much more. Concurrency can get complicated, so this book gets you started gently with interesting examples, entertaining illustrations, and easy-to-follow Python code. About the book Grokking Concurrency is a perfectly paced introduction to the fundamentals of concurrent, parallel, and asynchronous programming. In it, you’ll learn the practices you’ll need to program multicore processors, GPUs, and other high-performance systems. Author Kirill Bobrov skips the math, jargon, and academic language and concentrates on clear, plain-English explanations. What's inside Writing and running concurrent programs Patterns for performance, scalability, and resilience Choosing the right hardware Asynchronous communication About the reader Examples in Python. No prior experience with concurrency or high-performance computing required. About the author Kirill Bobrov is a software engineer with a passion for data engineering. Table of Contents Part 1 The Octopus Orchestra: Introduction to a Symphony of Concurrency 1 Introducing concurrency 2 Serial and parallel execution 3 How computers work 4 Building blocks of concurrency 5 Interprocess communication Part 2 the Many Tentacles of Concurrency: Multitasking, Decomposition, and Synchronization 6 Multitasking 7 Decomposition 8 Solving concurrency problems: Race conditions and synchronization 9 Solving concurrency problems: Deadlocks and starvation Part 3 Asynchronous Octopuses: a Pizza-making Tale of Concurrency 10 Nonblocking I/O 11 Event-based concurrency 12 Asynchronous communication 13 Writing concurrent applications