Cantitate/Preț
Produs

Learn Concurrent Programming with Go

Autor James Cutajar
en Limba Engleză Paperback – 9 ian 2024

Considerăm că stăpânirea execuției paralele este punctul în care un programator devine cu adevărat eficient, iar Learn Concurrent Programming with Go oferă exact instrumentele necesare pentru a construi software scalabil și responsiv, capabil să utilizeze la maximum hardware-ul multi-procesor modern. Rezultatul concret al parcurgerii acestei lucrări este capacitatea de a descompune sarcini complexe în părți independente ce rulează simultan, fără a compromite integritatea datelor. Descoperim aici o abordare tehnică și extrem de aplicată asupra modelării concurenței. James Cutajar ghidează cititorul de la fundamentele firelor de execuție (threads) și partajarea memoriei, până la tehnici sofisticate de comunicare prin mesaje folosind canale. Spre deosebire de Effective Concurrency in Go, care pune un accent mai mare pe algoritmi teoretici de mare viteză, volumul de față este mai mult aplicabil în scenarii de zi cu zi, concentrându-se pe identificarea și implementarea pattern-urilor de tip worker pools sau pipelining. Suntem de părere că rigoarea tehnică este bine echilibrată de exemplele practice. Autorul nu evită subiectele dificile, dedicând secțiuni clare pentru evitarea blocajelor de tip deadlock și gestionarea condițiilor de cursă (race conditions). În ultima parte, cartea explorează zone avansate, precum variabilele atomice și futex-urile, oferind o perspectivă completă asupra multithreading-ului. Față de Go in Action, care servește ca o introducere generală în ecosistemul limbajului, lucrarea de față se specializează strict pe mecanismele de concurență, fiind un ghid esențial pentru optimizarea performanței aplicațiilor scrise în Go.

Citește tot Restrânge

Preț: 31705 lei

Preț vechi: 39631 lei
-20%

Puncte Express: 476

Carte disponibilă

Livrare economică 23 mai-06 iunie


Specificații

ISBN-13: 9781633438385
ISBN-10: 1633438384
Pagini: 328
Dimensiuni: 185 x 233 x 20 mm
Greutate: 0.57 kg
Editura: Manning Publications

De ce să citești această carte

Recomandăm această carte dezvoltatorilor care vor să treacă de la cod secvențial la sisteme paralele performante. Veți câștiga o înțelegere profundă a modului în care goroutine-urile și canalele din Go simplifică sarcini complexe. Este o investiție necesară pentru oricine dorește să prevină erorile de sincronizare și să livreze aplicații capabile să gestioneze volume mari de date pe infrastructuri moderne.


Descriere scurtă

Learn Concurrent Programming with Go teaches readers how to boost the performance of their systems through the power of concurrent programming. It demystifies concurrency, explaining complex topics using simple language, easy-to-follow visuals, and relevant examples readers will face every day as a developer. Suitable for programmers who already know the basics of Go or another C-style language.

Descriere

Concurrency doesn’t need to be confusing. Start writing concurrent code that improves performance, scales up to handle large volumes of data, and takes full advantage of modern multi-processor hardware. Too many developers think concurrency is extremely challenging. Learn Concurrent Programming with Go is here to prove them wrong! This book uses the easy-to-grasp concurrency tools of the Go language to demonstrate principles and techniques, steadily teaching you the best practices of effective concurrency. Techniques learned in this book can be applied to other languages. In Learn Concurrent Programming with Go you will learn how to: Implement effective concurrency for more responsive, higher performing, scalable software Avoid common concurrency problems such as deadlocks and race conditions Manage concurrency using goroutines, mutexes, readers-writer locks, and more Identify concurrency patterns such as pipelining, worker pools, and message passing Discover advantages, limits, and properties of parallel computing Improve your Go coding skills with advanced multithreading topics Concurrent programming allows multiple tasks to execute and interact simultaneously, speeding up performance and reducing user wait time. In Learn Concurrent Programming with Go, you’ll discover universal principles of concurrency, along with how to use them for a performance boost in your Go applications. Expert author James Cutajar starts with the basics of modeling concurrency in your programs, demonstrates differences between message passing and memory sharing, and even introduces advanced topics such as atomic variables and futexes. Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications. About the technology You can improve almost any application’s performance and responsiveness by introducing concurrency into the codebase. This book will show you how! It starts with the basics of concurrent programming and builds your skills step by step by exploring scenarios you’ll face every day as a developer. Author James Cutajar explains each aspect of concurrency in plain language using the intuitive features baked into the Go language. About the book Learn Concurrent Programming with Go provides a practical, hands-on introduction to creating software for modern multiprocessor systems. In it, you’ll learn how to divide larger programming tasks into independent parts that can run simultaneously. You’ll use the Go language to implement common concurrency patterns by utilizing readers-writer locks, semaphores, message passing, and memory sharing. The skills you learn will easily transfer to other languages. What's inside Prevent deadlocks and race conditions Go concurrency features like goroutines, mutexes, channels, and more Concurrency patterns including pipelining and worker pools About the reader For programmers with basic knowledge of Go or another C-style language. No experience in concurrent programming required. About the author James Cutajar has been programming for more than 20 years. He’s an open source contributor, blogger, tech evangelist, Udemy instructor, and author. Table of Contents PART 1 FOUNDATIONS 1 Stepping into concurrent programming 2 Dealing with threads 3 Thread communication using memory sharing 4 Synchronization with mutexes 5 Condition variables and semaphores 6 Synchronizing with waitgroups and barriers PART 2 MESSAGE PASSING 7 Communication using message passing 8 Selecting channels 9 Programming with channels PART 3 MORE CONCURRENCY 10 Concurrency patterns 11 Avoiding deadlocks 12 Atomics, spin locks, and futexes