買這商品的人也買了...
-
$350$277 -
$650$514 -
$650$507 -
$680$537 -
$550$435 -
$980$774 -
$520$411 -
$680$537 -
$2,040$1,938 -
$320$250 -
$880$695 -
$550$435 -
$290$226 -
$600$480 -
$990GUI Bloopers 2.0: Common User Interface Design Don'ts and Dos
-
$380$300 -
$530$419 -
$450$383 -
$820$648 -
$980$774 -
$890$757 -
$490$417 -
$450$351 -
$490$417 -
$1,575$1,496
商品描述
Description
Concurrency provides a thoroughly updated approach to the basic concepts and techniques behind concurrent programming. Concurrent programming is complex and demands a much more formal approach than sequential programming. In order to develop a thorough understanding of the topic Magee and Kramer present concepts, techniques and problems through a variety of forms: informal descriptions, illustrative examples, abstract models and concrete Java examples. These combine to provide problem patterns and associated solution techniques which enable students to recognise problems and arrive at solutions.
New features include:
- New chapters covering program verification and logical properties.
- More student exercises.
- Supporting website contains an updated version of the LTSA tool for modelling concurrency, model animation, and model checking.
- Website also includes the full set of state models, java examples, and demonstration programs and a comprehensive set of overhead slides for course presentation.
Table of Contents
Preface.
Acknowledgments.
1. Introduction.
1.1 Concurrent Programs.
1.2 The Modeling Approach.
1.3 Practice.
1.4 Content Overview.
Summary.
Notes and Further Reading.
2. Processes and Threads.
2.1 Modeling Processes.
2.2 Implementing Processes.
Summary.
Notes and Further Reading.
Exercises.
3. Concurrent Execution.
3.1 Modeling Concurrency.
3.2 Multi-Threaded Programs.
Summary.
Notes and Further Reading.
Exercises.
4. Shared Objects and Mutual Exclusion.
4.1 Interference.
4.2 Mutual Exclusion in Java.
4.3 Modeling Mutual Exclusion.
Summary.
Notes and Further Reading.
Exercises.
5. Monitors and Condition Synchronization.
5.1 Condition Synchronization.
5.2 Semaphores.
5.3 Bounded Buffers.
5.4 Nested Monitors.
5.5 Monitor Invariants.
Summary.
Notes and Further Reading.
Exercises.
6. Deadlock.
6.1 Deadlock Analysis.
6.2 Dining Philosophers Problem.
Summary.
Notes and Further Reading.
Exercises.
7. Safety and Liveness Properties.
7.1 Safety.
7.2 Single-Lane Bridge Problem.
7.3 Liveness.
7.4 Liveness of the Single-Lane Bridge.
7.5 Readers–Writers Problem.
Summary.
Notes and Further Reading.
Exercises.
8. Model-Based Design.
8.1 From Requirements to Models.
8.2 From Models to Implementation.
Summary.
Notes and Further Reading
Exercises.
9. Dynamic Systems.
9.1 Golf Club Program.
9.2 Golf Club Model.
9.3 Fair Allocation.
9.4 Revised Golf Ball Allocator.
9.5 Bounded Overtaking.
9.6 Bounded Overtaking Golf Ball Allocator.
9.7 Master–Slave Program.
9.8 Master–Slave Model.
Summary.
Notes and Further Reading.
Exercises.
10. Message Passing.
10.1 Synchronous Message Passing.
10.2 Asynchronous Message Passing.
10.3 Rendezvous.
Summary.
Notes and Further Reading.
Exercises.
11. Concurrent Architectures.
11.1 Filter Pipeline.
11.2 Supervisor–Worker.
11.3 Announcer–Listener.
Summary.
Notes and Further Reading.
Exercises.
12. Timed Systems.
12.1 Modeling Timed Systems.
12.2 Implementing Timed Systems.
12.3 Parcel Router Problem.
12.4 Space Invaders.
Summary.
Notes and Further Reading.
Exercises.
13.ihl Program Verification.
13.1 Sequential Processes.
13.2 Modeling Condition Synchronization.
13.3 Modeling Variables and Synchronized Methods.
13.4 Bounded Buffer Example.
13.5 Readers–Writers Example.
Summary.
Notes and Further Reading.
Exercises.
14. Logical Properties.
14.1 Fluent Propositions.
14.2 Temporal Propositions.
14.3 Fluent Linear Temporal Logic (FLTL).
14.4 Database Ring Problem.
Summary.
Notes and Further Reading.
Exercises.
Appendix A: FSP Quick Reference.
A.1 Processes.
A.2 Composite Processes.
A.3 Common Operators.
A.4 Properties.
Appendix B: FSP Language Specification.
B.1 FSP Description.
B.2 Identifiers.
B.3 Action Labels.
B.4 const, range, set.
B.5 Process Definition.
B.6 Composite Process.
B.7 Parameters.
B.8 Relabeling and Hiding.
B.9 property, progress and menu.
B.10; Expression.
B.11 Basic FSP.
Appendix C: FSP Semantics.
C.1 Labeled Transition System (LTS).
C.2 Processes.
C.3 Composite Processes.
C.4 Common Operators.
C.5 Safety Properties.
C.6 Semantic Equivalences.
Appendix D: UML Class Diagrams.
Bibliography.
Index.
商品描述(中文翻譯)
**描述**
《Concurrency》提供了一種徹底更新的方式來理解並發程式設計背後的基本概念和技術。並發程式設計是複雜的,並且需要比順序程式設計更正式的方法。為了深入理解這個主題,Magee 和 Kramer 通過多種形式呈現概念、技術和問題:非正式的描述、示例、抽象模型和具體的 Java 範例。這些結合起來提供了問題模式和相關的解決技術,使學生能夠識別問題並找到解決方案。
新特性包括:
- 新章節涵蓋程式驗證和邏輯性質。
- 更多的學生練習。
- 支援網站包含更新版本的 LTSA 工具,用於建模並發、模型動畫和模型檢查。
- 網站還包括完整的狀態模型、Java 範例、演示程式以及全面的課程簡報幻燈片。
**目錄**
前言
致謝
1. 介紹
1.1 並發程式
1.2 建模方法
1.3 實踐
1.4 內容概述
摘要
註釋與進一步閱讀
2. 程式與執行緒
2.1 建模程式
2.2 實作程式
摘要
註釋與進一步閱讀
練習
3. 並發執行
3.1 建模並發
3.2 多執行緒程式
摘要
註釋與進一步閱讀
練習
4. 共享物件與互斥
4.1 干擾
4.2 Java 中的互斥
4.3 建模互斥
摘要
註釋與進一步閱讀
練習
5. 監視器與條件同步
5.1 條件同步
5.2 信號量
5.3 有界緩衝區
5.4 嵌套監視器
5.5 監視器不變式
摘要
註釋與進一步閱讀
練習
6. 死鎖
6.1 死鎖分析
6.2 餐廳哲學家問題
摘要
註釋與進一步閱讀
練習
7. 安全性與活性質性
7.1 安全性
7.2 單車道橋問題
7.3 活性
7.4 單車道橋的活性
7.5 讀者-寫者問題
摘要
註釋與進一步閱讀
練習
8. 基於模型的設計
8.1 從需求到模型
8.2 從模型到實作
摘要
註釋與進一步閱讀
練習
9. 動態系統
9.1 高爾夫球俱樂部程式
9.2 高爾夫球俱樂部模型
9.3 公平分配
9.4 修訂的高爾夫球分配器
9.5 有界超車
9.6 有界超車高爾夫球分配器
9.7 主-從程式
9.8 主-從模型
摘要
註釋與進一步閱讀
練習
10. 訊息傳遞
10.1 同步訊息傳遞
10.2 非同步訊息傳遞
10.3 會合
摘要
註釋與進一步閱讀
練習
11. 並發架構
11.1 過濾器管道
11.2 監督-工作者
11.3 宣告者-聽眾
摘要
註釋與進一步閱讀
練習
12. 定時系統
12.1 建模定時系統
12.2 實作定時系統
12.3 包裹路由器問題
12.4 太空入侵者
摘要
註釋與進一步閱讀
練習
13. 程式驗證
13.1 順序程式
13.2 建模條件同步
13.3 建模變數和同步方法
13.4 有界緩衝區範例
13.5 讀者-寫者範例
摘要
註釋與進一步閱讀
練習
14. 邏輯性質
14.1 流暢命題
14.2 時間命題
14.3 流暢線性時間邏輯 (FLTL)
14.4 資料庫環問題
摘要
註釋與進一步閱讀
練習
附錄 A: FSP 快速參考
A.1 程式
A.2 複合程式
A.3 常見運算子
A.4 性質
附錄 B: FSP 語言規範
B.1 FSP 描述
B.2 識別符
B.3 行動標籤
B.4 const, range, set
B.5 程式定義
B.6 複合程式
B.7 參數
B.8 重新標記與隱藏
B.9 性質、進展與選單
B.10 表達式
B.11 基本 FSP
附錄 C: FSP 語義
C.1 標記轉換系統 (LTS)
C.2 程式
C.3 複合程式
C.4 常見運算子
C.5 安全性質
C.6 語義等價
附錄 D: UML 類別圖
參考文獻
索引