JavaScript concurrency : build better software with concurrent JavaScript programming, and unlock a more efficient and forward-thinking approach to web development /: build better software with concurrent JavaScript programming, and unlock a more efficient and forward-thinking approach to web development. (2015)
- Record Type:
- Book
- Title:
- JavaScript concurrency : build better software with concurrent JavaScript programming, and unlock a more efficient and forward-thinking approach to web development /: build better software with concurrent JavaScript programming, and unlock a more efficient and forward-thinking approach to web development. (2015)
- Main Title:
- JavaScript concurrency : build better software with concurrent JavaScript programming, and unlock a more efficient and forward-thinking approach to web development
- Further Information:
- Note: Adam Boduch.
- Authors:
- Boduch, Adam
- Contents:
- Cover; Copyright; Credits; About the Author; About the Reviewer; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Why JavaScript Concurrency?; Synchronous JavaScript; Synchronicity is easy to understand; Asynchronous is inevitable; Asynchronous browsers; Types of concurrency; Asynchronous actions; Parallel actions; JavaScript concurrency principles: Parallelize, Synchronize, Conserve; Parallelize; Synchronize; The Promise API; Conserve; Summary; Chapter 2: The JavaScript Execution Model; Everything is a task; Meet the players; The Execution environment; Event loops; Task queues Execution contextsMaintaining execution state; Job queues; Creating tasks using timers; Using setTimeout(); Using setInterval(); Responding to DOM events; Event targets; Managing event frequency; Responding to network events; Making requests; Coordinating requests; Concurrency challenges with this model; Limited opportunity for parallelism; Synchronization through callbacks; Summary; Chapter 3: Synchronizing with Promises; Promise terminology; Promise; State; Executor; Resolver; Rejector; Thenable; Resolving and rejecting promises; Resolving promises; Rejecting promises; Empty promises Reacting to promisesResolution job queues; Using promised data; Error callbacks; Always reacting; Resolving other promises; Promise-like objects; Building callback chains; Promises only change state once; Immutable promises; Many then callbacks, many promises; Passing promises around; Synchronizing severalCover; Copyright; Credits; About the Author; About the Reviewer; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Why JavaScript Concurrency?; Synchronous JavaScript; Synchronicity is easy to understand; Asynchronous is inevitable; Asynchronous browsers; Types of concurrency; Asynchronous actions; Parallel actions; JavaScript concurrency principles: Parallelize, Synchronize, Conserve; Parallelize; Synchronize; The Promise API; Conserve; Summary; Chapter 2: The JavaScript Execution Model; Everything is a task; Meet the players; The Execution environment; Event loops; Task queues Execution contextsMaintaining execution state; Job queues; Creating tasks using timers; Using setTimeout(); Using setInterval(); Responding to DOM events; Event targets; Managing event frequency; Responding to network events; Making requests; Coordinating requests; Concurrency challenges with this model; Limited opportunity for parallelism; Synchronization through callbacks; Summary; Chapter 3: Synchronizing with Promises; Promise terminology; Promise; State; Executor; Resolver; Rejector; Thenable; Resolving and rejecting promises; Resolving promises; Rejecting promises; Empty promises Reacting to promisesResolution job queues; Using promised data; Error callbacks; Always reacting; Resolving other promises; Promise-like objects; Building callback chains; Promises only change state once; Immutable promises; Many then callbacks, many promises; Passing promises around; Synchronizing several promises; Waiting on promises; Cancelling promises; Promises without executors; Summary; Chapter 4: Lazy Evaluation with Generators; Call stacks and memory allocation; Bookmarking function contexts; Sequences instead of arrays; Creating generators and yielding values Generator function syntaxYielding values; Iterating over generators; Infinite sequences; No end in sight; Alternating sequences; Deferring to other generators; Selecting a strategy; Interweaving generators; Passing data to generators; Reusing generators; Lightweight map/reduce; Coroutines; Creating coroutine functions; Handling DOM events; Handling promised values; Summary; Chapter 5: Working with Workers; What are workers?; OS threads; Event targets; True parallelism; Types of workers; Dedicated workers; Sub-workers; Shared workers; Worker environments; What's available, what isn't? Loading scriptsCommunicating with workers; Posting messages; Message serialization; Receiving messages from workers; Sharing application state; Sharing memory; Fetching resources; Communicating between pages; Performing sub-tasks with sub-workers; Dividing work into tasks; A word of caution; Error handling in web workers; Error condition checking; Exception handling; Summary; Chapter 6: Practical Parallelism; Functional programming; Data in, data out; Immutability; Referential transparency and time; Do we need to go parallel?; How big is the data?; Hardware concurrency capabilities … (more)
- Publisher Details:
- Birmingham : Packt Publishing
- Publication Date:
- 2015
- Extent:
- 1 online resource, illustrations
- Subjects:
- 005.2762
COMPUTERS -- Web -- Design
JavaScript (Computer program language)
Application software -- Development
COMPUTERS / Programming Languages / JavaScript
Application software -- Development
JavaScript (Computer program language)
COMPUTERS -- Programming Languages -- General
Electronic books
Electronic books - Languages:
- English
- ISBNs:
- 9781785880261
1785880268
1785889230
9781785889233 - Related ISBNs:
- 9781785889233
- Notes:
- Note: Online resource; title from PDF title page (EBSCO, viewed May 3, 2016)
- Access Rights:
- Legal Deposit; Only available on premises controlled by the deposit library and to one user at any one time; The Legal Deposit Libraries (Non-Print Works) Regulations (UK).
- Access Usage:
- Restricted: Printing from this resource is governed by The Legal Deposit Libraries (Non-Print Works) Regulations (UK) and UK copyright law currently in force.
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD.DS.88655
- Ingest File:
- 01_087.xml