万本电子书0元读

万本电子书0元读

顶部广告

Java 9 Concurrency Cookbook - Second Edition电子书

售       价:¥

16人正在读 | 0人评论 9.8

作       者:Javier Fernández González

出  版  社:Packt Publishing

出版时间:2017-04-25

字       数:69.6万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Writing concurrent and parallel programming applications is an integral skill for any Java programmer. Java 9 comes with a host of fantastic features, including significant performance improvements and new APIs. This book will take you through all the new APIs, showing you how to build parallel and multi-threaded applications. The book covers all the elements of the Java Concurrency API, with essential recipes that will help you take advantage of the exciting new capabilities. You will learn how to use parallel and reactive streams to process massive data sets. Next, you will move on to create streams and use all their intermediate and terminal operations to process big collections of data in a parallel and functional way. Further, you ll discover a whole range of recipes for almost everything, such as thread management, synchronization, executors, parallel and reactive streams, and many more. At the end of the book, you will learn how to obtain information about the status of some of the most useful components of the Java Concurrency API and how to test concurrent applications using different tools. What you will learn ?Find out to manage the basic components of the Java Concurrency API ?Use synchronization mechanisms to avoid data race conditions and other problems of concurrent applications ?Separate the thread management from the rest of the application with the Executor framework ?Solve problems using a parallelized version of the divide and conquer paradigm with the Fork / Join framework ?Process massive data sets in an optimized way using streams and reactive streams ?See which data structures we can use in concurrent applications and how to use them ?Practice efficient techniques to test concurrent applications ?Get to know tips and tricks to design concurrent applications
目录展开

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

累计评论(0条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部