售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Title Page
Copyright
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Dedication
Preface
What this book covers
What you need for this book
Who this book is for
Sections
Getting ready
How to do it…
How it works…
There's more…
See also
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
Thread Management
Introduction
Creating, running, and setting the characteristics of a thread
Getting ready
How to do it...
How it works...
There's more...
See also
Interrupting a thread
Getting ready
How to do it...
How it works...
There's more...
Controlling the interruption of a thread
Getting ready
How to do it...
How it works...
There's more...
See also
Sleeping and resuming a thread
Getting ready
How to do it...
How it works...
There's more...
Waiting for the finalization of a thread
Getting ready
How to do it...
How it works...
There's more...
Creating and running a daemon thread
Getting ready
How to do it...
How it works...
There's more...
Processing uncontrolled exceptions in a thread
Getting ready
How to do it...
How it works...
There's more...
See also
Using thread local variables
Getting ready
How to do it...
How it works...
There's more...
Grouping threads and processing uncontrolled exceptions in a group of threads
Getting ready
How to do it...
How it works...
See also
Creating threads through a factory
Getting ready
How to do it...
How it works...
See also
Basic Thread Synchronization
Introduction
Synchronizing a method
Getting ready
How to do it...
How it works...
There's more...
See also
Using conditions in synchronized code
Getting ready
How to do it...
How it works...
There's more...
See also
Synchronizing a block of code with a lock
Getting ready
How to do it...
How it works...
There's more...
Avoiding deadlocks
See also
Synchronizing data access with read/write locks
Getting ready...
How to do it...
How it works...
See also
Using multiple conditions in a lock
Getting ready
How to do it...
How it works...
There's more...
See also
Advanced locking with the StampedLock class
Getting ready
How to do it...
How it works...
There's more...
See also
Thread Synchronization Utilities
Introduction
Controlling concurrent access to one or more copies of a resource
Getting ready
How to do it...
How it works...
There's more...
Fairness in semaphores
See also
Waiting for multiple concurrent events
Getting ready
How to do it...
How it works...
There's more...
Synchronizing tasks in a common point
Getting ready
How to do it...
How it works...
There's more...
Resetting a CyclicBarrier object
Broken CyclicBarrier objects
See also
Running concurrent-phased tasks
Getting ready
How to do it...
How it works...
There's more...
Registering participants in Phaser
Forcing the termination of Phaser
See also
Controlling phase change in concurrent-phased tasks
Getting ready
How to do it...
How it works...
See also
Exchanging data between concurrent tasks
Getting ready
How to do it...
How it works...
There's more...
Completing and linking tasks asynchronously
Getting ready
How to do it...
How it works...
There's more...
See also...
Thread Executors
Introduction
Creating a thread executor and controlling its rejected tasks
Getting ready
How to do it...
How it works...
There's more...
See also
Executing tasks in an executor that returns a result
Getting ready
How to do it...
How it works...
There's more...
See also
Running multiple tasks and processing the first result
Getting ready
How to do it...
How it works...
There's more...
See also
Running multiple tasks and processing all the results
Getting ready
How to do it...
How it works...
There's more...
See also
Running a task in an executor after a delay
Getting ready
How to do it...
How it works...
There's more...
See also
Running a task in an executor periodically
Getting ready
How to do it...
How it works...
There's more...
See also
Canceling a task in an executor
Getting ready
How to do it...
How it works...
There's more...
See also
Controlling a task finishing in an executor
Getting ready
How to do it...
How it works...
See also
Separating the launching of tasks and the processing of their results in an executor
Getting ready
How to do it...
How it works...
There's more...
See also
Fork/Join Framework
Introduction
Creating a fork/join pool
Getting ready
How to do it...
How it works...
There's more...
See also
Joining the results of the tasks
How to do it...
How it works...
There's more...
See also
Running tasks asynchronously
How to do it...
How it works...
There's more...
See also
Throwing exceptions in the tasks
Getting ready
How to do it...
How it works...
There's more...
See also
Canceling a task
Getting ready...
How to do it...
How it works...
See also
Parallel and Reactive Streams
Introduction
Creating streams from different sources
Getting ready
How to do it...
How it works...
There's more...
See also
Reducing the elements of a stream
Getting ready
How to do it...
How it works...
There's more...
See also
Collecting the elements of a stream
Getting ready
How to do it...
How it works...
There's more...
See also
Applying an action to every element of a stream
Getting ready
How to do it...
How it works...
There's more...
See also
Filtering the elements of a stream
Getting ready
How to do it...
How it works...
There's more...
See also
Transforming the elements of a stream
Getting ready
How to do it...
How it works...
There's more...
See also
Sorting the elements of a stream
Getting ready
How to do it...
How it works...
There's more...
See also
Verifying conditions in the elements of a stream
Getting ready
How to do it...
How it works...
There's more...
See also
Reactive programming with reactive streams
Getting ready
How to do it...
How it works...
There's more...
Concurrent Collections
Introduction
Using non-blocking thread-safe deques
Getting ready
How to do it...
How it works...
There's more...
Using blocking thread-safe deques
Getting ready
How to do it...
How it works...
There's more...
See also
Using blocking thread-safe queue ordered by priority
Getting ready
How to do it...
How it works...
There's more...
See also
Using thread-safe lists with delayed elements
Getting ready
How to do it...
How it works...
There's more...
See also
Using thread-safe navigable maps
Getting ready
How to do it...
How it works...
There's more...
See also
Using thread-safe HashMaps
Getting ready
How to do it...
How it works...
There's more...
See also
Using atomic variables
Getting ready
How to do it...
How it works...
There's more...
See also
Using atomic arrays
Getting ready
How to do it...
How it works...
There's more...
See also
Using the volatile keyword
Getting ready
How to do it...
How it works...
There's more...
See also
Using variable handles
Getting ready
How to do it...
How it works...
There's more...
See also
Customizing Concurrency Classes
Introduction
Customizing the ThreadPoolExecutor class
Getting ready
How to do it...
How it works...
See also
Implementing a priority-based Executor class
Getting ready
How to do it...
How it works...
There's more...
See also
Implementing the ThreadFactory interface to generate custom threads
Getting ready
How to do it...
How it works...
There's more...
Using our ThreadFactory in an Executor object
Getting ready
How to do it...
How it works...
See also
Customizing tasks running in a scheduled thread pool
Getting ready
How to do it...
How it works...
There's more...
See also
Implementing the ThreadFactory interface to generate custom threads for the fork/join framework
Getting ready
How to do it...
How it works...
There's more...
See also
Customizing tasks running in the fork/join framework
How to do it...
How it works...
See also
Implementing a custom Lock class
Getting ready
How to do it...
How it works...
There's more...
See also
Implementing a transfer queue-based on priorities
Getting ready
How to do it...
How it works...
See also
Implementing your own atomic object
Getting ready
How to do it...
How it works...
See also
Implementing your own stream generator
Getting ready
How to do it...
How it works...
There's more...
See also
Implementing your own asynchronous stream
Getting ready
How to do it...
How it works...
There's more...
See also
Testing Concurrent Applications
Introduction
Monitoring a Lock interface
Getting ready
How to do it...
How it works...
There's more...
See also
Monitoring a Phaser class
Getting ready
How to do it...
How it works...
See also
Monitoring an Executor framework
Getting ready
How to do it...
How it works...
See also
Monitoring a fork/join pool
Getting ready
How to do it...
How it works...
See also
Monitoring a stream
Getting ready
How to do it...
How it works...
See also
Writing effective log messages
Getting ready
How to do it...
How it works...
There's more...
See also
Analyzing concurrent code with FindBugs
Getting ready
How to do it...
How it works...
There's more...
See also
Configuring Eclipse for debugging concurrency code
Getting ready
How to do it...
How it works...
Configuring NetBeans for debugging concurrency code
Getting ready
How to do it...
How it works...
There's more...
See also
Testing concurrency code with MultithreadedTC
Getting ready
How to do it...
How it works...
There's more...
See also
Monitoring with JConsole
Getting ready
How to do it...
How it works...
There's more...
See also
Additional Information
Introduction
Processing results for Runnable objects in the Executor framework
Getting ready
How to do it...
How it works...
There's more...
See also
Processing uncontrolled exceptions in a ForkJoinPool class
How to do it...
How it works...
There's more...
See also
Using a blocking thread-safe queue for communicating with producers and consumers
Getting ready
How to do it...
How it works...
There's more...
See also
Monitoring a Thread class
Getting ready
How to do it...
How it works...
There's more...
See also
Monitoring a Semaphore class
Getting ready
How to do it...
How it works...
See also
Generating concurrent random numbers
Getting ready
How to do it...
How it works...
There's more...
See also
Concurrent Programming Design
Introduction
Using immutable objects when possible
Getting ready
How to do it...
How it works...
There's more...
See also
Avoiding deadlocks by ordering locks
How to do it...
How it works...
There's more...
See also
Using atomic variables instead of synchronization
Getting ready
How to do it...
How it works...
See also
Holding locks for as short time as possible
Getting ready
How to do it...
How it works...
See also
Delegating the management of threads to executors
Getting ready
How to do it...
How it works...
See also
Using concurrent data structures instead of programming yourself
There's more...
See also
Taking precautions using lazy initialization
Getting ready
How to do it...
How it works...
Using the fork/join framework instead of executors
Getting ready
How to do it...
How it works...
See also
Avoiding the use of blocking operations inside a lock
Getting ready
How to do it...
How it works...
See also
Avoiding the use of deprecated methods
Using executors instead of thread groups
See also
Using streams to process big data sets
Getting ready
How to do it...
How it works...
See also
Other tips and tricks
See also
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜