買這商品的人也買了...
-
$2,232API Design for C++ (Paperback)
-
$940$700 -
$1,700$1,700 -
$4,620$4,389 -
$580$452 -
$1,980$1,881 -
$600$474 -
$1,650$1,568 -
$560$442 -
$1,998$1,898 -
$1,980$1,881 -
$2,450$2,328 -
$1,840Multithreaded JavaScript: Concurrency Beyond the Event Loop
-
$1,750$1,663 -
$2,680$2,626 -
$1,824Mastering API Architecture: Design, Operate, and Evolve Api-Based Systems (Paperback)
-
$1,760$1,672 -
$2,100$1,995 -
$1,881Functional Design: Principles, Patterns, and Practices (Paperback)
-
$2,200$2,090 -
$1,580$1,501 -
$1,970$1,872 -
$750$495 -
$1,892Learning Systems Thinking: Essential Nonlinear Skills and Practices for Software Professionals (Paperback)
-
$1,880$1,786
相關主題
商品描述
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:
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
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
- 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
商品描述(中文翻譯)
並發不必令人困惑。開始撰寫能提升性能、擴展以處理大量數據並充分利用現代多處理器硬體的並發代碼。
太多開發者認為並發是極具挑戰性的。使用 Go 學習並發程式設計 旨在證明他們是錯的!本書利用 Go 語言易於掌握的並發工具來展示原則和技術,穩步教導您有效並發的最佳實踐。本書中學到的技術可以應用於其他語言。 在 使用 Go 學習並發程式設計 中,您將學會如何:- 實現有效的並發,以便開發更具響應性、更高性能和可擴展的軟體
- 避免常見的並發問題,如死鎖和競爭條件
- 使用 goroutines、mutexes、讀寫鎖等管理並發
- 識別並發模式,如管道化、工作池和消息傳遞
- 發現平行計算的優勢、限制和特性
- 通過進階的多執行緒主題提升您的 Go 編碼技能
並發程式設計允許多個任務同時執行和互動,加快性能並減少用戶等待時間。在 使用 Go 學習並發程式設計 中,您將發現並發的普遍原則,以及如何在您的 Go 應用程式中利用它們來提升性能。專家作者 James Cutajar 從建模程式中的並發基礎開始,展示消息傳遞和內存共享之間的差異,甚至介紹了原子變數和 futexes 等進階主題。 購買印刷版書籍可獲得 Manning Publications 提供的免費 PDF 和 ePub 格式電子書。 關於技術 通過在代碼庫中引入並發,您幾乎可以改善任何應用程式的性能和響應性。本書將告訴您如何做到這一點!它從並發程式設計的基礎開始,逐步建立您的技能,探索作為開發者每天面對的場景。作者 James Cutajar 使用 Go 語言中直觀的特性,以簡單的語言解釋並發的各個方面。 關於本書 使用 Go 學習並發程式設計 提供了一個實用的、動手的介紹,幫助您為現代多處理器系統創建軟體。在本書中,您將學會如何將較大的程式任務劃分為可以同時運行的獨立部分。您將使用 Go 語言通過利用讀寫鎖、信號量、消息傳遞和內存共享來實現常見的並發模式。您學到的技能將輕鬆轉移到其他語言。 內容概覽
- 防止死鎖和競爭條件
- Go 的並發特性,如 goroutines、mutexes、channels 等
- 包括管道化和工作池的並發模式
關於讀者 適合對 Go 或其他 C 風格語言有基本了解的程式設計師。無需具備並發程式設計的經驗。 關於作者 James Cutajar 擁有超過 20 年的程式設計經驗。他是一位開源貢獻者、部落客、技術傳道者、Udemy 講師和作者。 目錄 第一部分 基礎
1 進入並發程式設計
2 處理執行緒
3 使用內存共享進行執行緒通信
4 使用 mutexes 進行同步
5 條件變數和信號量
6 使用 waitgroups 和 barriers 進行同步
第二部分 消息傳遞
7 使用消息傳遞進行通信
8 選擇通道
9 使用通道進行程式設計
第三部分 更多並發
10 並發模式
11 避免死鎖
12 原子性、旋轉鎖和 futexes
作者簡介
About the author
James Cutajar 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.
作者簡介(中文翻譯)
關於作者
詹姆斯·庫塔賈(James Cutajar)是一位軟體開發人員,對可擴展的高效能計算和分散式演算法充滿興趣。他在各行各業的科技領域工作了超過20年。在他的職業生涯中,他曾擔任開源貢獻者、部落客、技術傳道者、Udemy 講師以及作者。