TOP
月月讀書金,登入即領,滿600現折50!!
Modern Multithreading: Implementing, Testing, And Debugging Multithreaded Java And C++/Pthreads/Win32 Programs
滿額折

Modern Multithreading: Implementing, Testing, And Debugging Multithreaded Java And C++/Pthreads/Win32 Programs

商品資訊

定價
:NT$ 4862 元
優惠價
904376
若需訂購本書,請電洽客服 02-25006600[分機130、131]。
無法訂購
商品簡介
作者簡介
目次

商品簡介

Master the essentials of concurrent programming,including testing and debugging

This textbook examines languages and libraries for multithreaded programming. Readers learn how to create threads in Java and C++, and develop essential concurrent programming and problem-solving skills. Moreover, the textbook sets itself apart from other comparable works by helping readers to become proficient in key testing and debugging techniques. Among the topics covered, readers are introduced to the relevant aspects of Java, the POSIX Pthreads library, and the Windows Win32 Applications Programming Interface.

The authors have developed and fine-tuned this book through the concurrent programming courses they have taught for the past twenty years. The material, which emphasizes practical tools and techniques to solve concurrent programming problems, includes original results from the authors' research. Chapters include:
* Introduction to concurrent programming
* The critical section problem
* Semaphores and locks
* Monitors
* Message-passing
* Message-passing in distributed programs
* Testing and debugging concurrent programs

As an aid to both students and instructors, class libraries have been implemented to provide working examples of all the material that is covered. These libraries and the testing techniques they support can be used to assess student-written programs.

Each chapter includes exercises that build skills in program writing and help ensure that readers have mastered the chapter's key concepts. The source code for all the listings in the text and for the synchronization libraries is also provided, as well as startup files and test cases for the exercises.

This textbook is designed for upper-level undergraduates and graduate students in computer science. With its abundance of practical material and inclusion of working code, coupled with an emphasis on testing and debugging, it is also a highly useful reference for practicing programmers.

作者簡介

RICHARD H. CARVER, PhD, is an Associate Professor in the Department of Computer Science, George Mason University.

KUO-CHUNG TAI, PhD, was a Professor in the Department of Computer Science, North Carolina State University as well as the Co-Director of the university's Software Engineering Laboratory.

目次

Preface.

1 Introduction to Concurrent Programming.

1.1 Processes and Threads: An Operating System’s View.

1.2 Advantages of Multithreading.

1.3 Threads in Java.

1.4 Threads in Win32.

1.5 Pthreads.

1.6 C++ Thread Class.

1.7 Thread Communication.

1.8 Testing and Debugging Multithreaded Programs.

1.9 Thread Synchronization.

Further Reading.

References.

Exercises.

2 The Critical Section Problem.

2.1 Software Solutions to the Two-Thread Critical Section Problem.

2.2 Ticket-Based Solutions to the n-Thread Critical Section Problem.

2.3 Hardware Solutions to the n-Thread Critical Section Problem.

2.4 Deadlock, Livelock, and Starvation.

2.5 Tracing and Replay for Shared Variables.

2.5.6 Note on Shared Memory Consistency.

Further Reading.

References.

Exercises.

3 Semaphores and Locks.

3.1 Counting Semaphores.

3.2 Using Semaphores.

3.3 Binary Semaphores and Locks.

3.4 Implementing Semaphores.

3.5 Semaphore-Based Solutions to Concurrent Programming Problems.

3.6 Semaphores and Locks in Java.

3.7 Semaphores and Locks in Win32.

3.7.6 Example: C++/Win32 Bounded Buffer.

3.8 Semaphores and Locks in Pthreads.

3.9 Another Note on Shared Memory Consistency.

3.10 Tracing, Testing, and Replay for Semaphores and Locks.

Further Reading.

References.

Exercises.

4 Monitors.

4.1 Definition of Monitors.

4.2 Monitor-Based Solutions to Concurrent Programming Problems.

4.3 Monitors in Java.

4.4 Monitors in Pthreads.

4.5 Signaling Disciplines.

4.6 Using Semaphores to Implement Monitors.

4.7 Monitor Toolbox for Java.

4.8 Monitor Toolbox for Win32/C++/Pthreads.

4.9 Nested Monitor Calls.

4.10 Tracing and Replay for Monitors.

4.11 Testing Monitor-Based Programs.

Further Reading.

References.

Exercises.

5 Message Passing.

5.1 Channel Objects.

5.2 Rendezvous.

5.3 Selective Wait.

5.4 Message-Based Solutions to Concurrent Programming Problems.

5.5 Tracing, Testing, and Replay for Message-Passing Programs.

Further Reading.

References.

Exercises.

6 Message Passing in Distributed Programs.

6.1 TCP Sockets.

6.3 Timestamps and Event Ordering.

6.4 Message-Based Solutions to Distributed Programming Problems.

6.5 Testing and Debugging Distributed Programs.

Programs.

Further Reading.

References.

Exercises.

7 Testing and Debugging Concurrent Programs.

7.1 Synchronization Sequences of Concurrent Programs.

7.2 Paths of Concurrent Programs.

7.3 Definitions of Correctness and Faults for Concurrent Programs.

7.4 Approaches to Testing Concurrent Programs.

7.5 Reachability Testing.

Further Reading.

References.

Exercises.

Index.

購物須知

外文書商品之書封,為出版社提供之樣本。實際出貨商品,以出版社所提供之現有版本為主。部份書籍,因出版社供應狀況特殊,匯率將依實際狀況做調整。

無庫存之商品,在您完成訂單程序之後,將以空運的方式為你下單調貨。為了縮短等待的時間,建議您將外文書與其他商品分開下單,以獲得最快的取貨速度,平均調貨時間為1~2個月。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:90 4376
若需訂購本書,請電洽客服 02-25006600[分機130、131]。

暢銷榜

客服中心

收藏

會員專區