{"product_id":"learn-concurrent-programming-with-go-9781633438385","title":"Learn Concurrent Programming with Go","description":"\u003cb\u003eConcurrency 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.\u003c\/b\u003e \u003cp\u003e\u003c\/p\u003eToo many developers think concurrency is extremely challenging. \u003ci\u003eLearn Concurrent Programming with Go\u003c\/i\u003e 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. \u003cp\u003e\u003c\/p\u003e In \u003ci\u003eLearn Concurrent Programming with Go\u003c\/i\u003e you will learn how to: \u003cp\u003e\u003c\/p\u003e \u003cul\u003e \u003cli\u003eImplement effective concurrency for more responsive, higher performing, scalable software\u003c\/li\u003e \u003cli\u003eAvoid common concurrency problems such as deadlocks and race conditions\u003c\/li\u003e \u003cli\u003eManage concurrency using goroutines, mutexes, readers-writer locks, and more\u003c\/li\u003e \u003cli\u003eIdentify concurrency patterns such as pipelining, worker pools, and message passing\u003c\/li\u003e \u003cli\u003eDiscover advantages, limits, and properties of parallel computing\u003c\/li\u003e \u003cli\u003eImprove your Go coding skills with advanced multithreading topics\u003c\/li\u003e \u003c\/ul\u003e \u003cbr\u003eConcurrent programming allows multiple tasks to execute and interact simultaneously, speeding up performance and reducing user wait time. In \u003ci\u003eLearn Concurrent Programming with Go\u003c\/i\u003e, 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. \u003cp\u003e\u003c\/p\u003e Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications. \u003cp\u003e\u003c\/p\u003e \u003cb\u003eAbout the technology\u003c\/b\u003e \u003cp\u003e\u003c\/p\u003e 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. \u003cp\u003e\u003c\/p\u003e \u003cb\u003eAbout the book\u003c\/b\u003e \u003cp\u003e\u003c\/p\u003e \u003ci\u003eLearn Concurrent Programming with Go\u003c\/i\u003e 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. \u003cp\u003e\u003c\/p\u003e \u003cb\u003eWhat's inside\u003c\/b\u003e \u003cp\u003e\u003c\/p\u003e \u003cul\u003e \u003cli\u003ePrevent deadlocks and race conditions\u003c\/li\u003e \u003cli\u003eGo concurrency features like goroutines, mutexes, channels, and more\u003c\/li\u003e \u003cli\u003eConcurrency patterns including pipelining and worker pools\u003c\/li\u003e \u003c\/ul\u003e \u003cbr\u003e\u003cb\u003eAbout the reader\u003c\/b\u003e \u003cp\u003e\u003c\/p\u003e For programmers with basic knowledge of Go or another C-style language. No experience in concurrent programming required. \u003cp\u003e\u003c\/p\u003e \u003cb\u003eAbout the author\u003c\/b\u003e \u003cp\u003e\u003c\/p\u003e \u003cb\u003eJames Cutajar\u003c\/b\u003e has been programming for more than 20 years. He's an open source contributor, blogger, tech evangelist, Udemy instructor, and author. \u003cp\u003e\u003c\/p\u003e \u003cb\u003eTable of Contents\u003c\/b\u003e \u003cp\u003e\u003c\/p\u003e PART 1 FOUNDATIONS\u003cbr\u003e 1 Stepping into concurrent programming\u003cbr\u003e 2 Dealing with threads\u003cbr\u003e 3 Thread communication using memory sharing\u003cbr\u003e 4 Synchronization with mutexes\u003cbr\u003e 5 Condition variables and semaphores\u003cbr\u003e 6 Synchronizing with waitgroups and barriers\u003cbr\u003e PART 2 MESSAGE PASSING\u003cbr\u003e 7 Communication using message passing\u003cbr\u003e 8 Selecting channels\u003cbr\u003e 9 Programming with channels\u003cbr\u003e PART 3 MORE CONCURRENCY\u003cbr\u003e 10 Concurrency patterns\u003cbr\u003e 11 Avoiding deadlocks\u003cbr\u003e 12 Atomics, spin locks, and futexes\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eAbout the Author\u003c\/b\u003e\u003cbr\u003e\u003cp\u003e\u003cstrong\u003eAbout the author\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eJames Cutajar\u003c\/strong\u003e is a software developer with an interest in scalable, high-performance computing and distributed algorithms. He has worked in the field of technology in various industries for more than 20 years. During his career, he has been an open source contributor, blogger, tech evangelist, Udemy instructor, and author.\u003c\/p\u003e\u003cbr\u003e","brand":"Manning Publication Co.","offers":[{"title":"Default Title","offer_id":50727466565906,"sku":"9781633438385","price":55.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0831\/4771\/8930\/files\/img_8392baac-3857-408d-874a-7bb135eee4d1.jpg?v=1734908679","url":"https:\/\/surprise-castle.myshopify.com\/products\/learn-concurrent-programming-with-go-9781633438385","provider":"Surprise Castle","version":"1.0","type":"link"}