Multithreaded Javascript: Concurrency Beyond the Event Loop

┬╖
┬╖ "O'Reilly Media, Inc."
рмЗрммрнБрмХрнН
214
рмкрнГрм╖рнНрмарм╛рмЧрнБрнЬрм┐рмХ
рмпрнЛрмЧрнНрнЯ

рмПрм╣рм┐ рмЗрммрнБрмХрнН рммрм┐рм╖рнЯрм░рнЗ

Traditionally, JavaScript has been a single-threaded language. Nearly all online forum posts, books, online documentation, and libraries refer to the language as single threaded. Thanks to recent advancements in the language--such as the Atomics and SharedArrayBuffers objects and Web Workers in the browser--JavaScript is now a multi-threaded language. These features will go down as being the biggest paradigm shift for the world's most popular programming language.

Multithreaded JavaScript explores the various features that JavaScript runtimes have at their disposal for implementing multithreaded programming, providing both practical real-world examples, as well as reference material.

  • Learn what multithreaded programming is and how you can benefit from it
  • Understand the differences between a web worker, a service worker, and a worker thread
  • Know when and when not to use threads in an application
  • Orchestrate communication between threads by leveraging the Atomics object
  • Build high-performance applications using the knowledge you gain from this book
  • Benchmark performance to learn if you'll benefit from multithreading

рм▓рнЗрмЦрмХрмЩрнНрмХ рммрм┐рм╖рнЯрм░рнЗ

Thomas Hunter II has contributed to dozens of enterprise Node.js services and has worked for a company dedicated to securing Node.js. He has spoken at several conferences on Node.js and JavaScript, is JSNSD/JSNAD certified, and is an organizer of NodeSchool SF. Thomas has published four books including Distributed Systems with Node.js by O'Reilly.

Bryan is an open source JavaScript and Rust programmer and enthusiast and has worked on large enterprise systems, instrumentation, and application security. Currently heтАЩs a Senior Open Source Software engineer at Datadog. HeтАЩs used Node.js both professionally and in personal projects since not long after its inception. He is also a Node.js core collaborator and has contributed to Node.js in many ways through several of its various Working Groups.

рмПрм╣рм┐ рмЗрммрнБрмХрнНтАНрмХрнБ рморнВрм▓рнНрнЯрм╛рмЩрнНрмХрми рмХрм░рмирнНрмдрнБ

рмЖрмкрмг рмХрмг рмнрм╛рммрнБрмЫрмирнНрмдрм┐ рмдрм╛рм╣рм╛ рмЖрмормХрнБ рмЬрмгрм╛рмирнНрмдрнБред

рмкрнЭрм┐рммрм╛ рмкрм╛рмЗрмБ рмдрмернНрнЯ

рм╕рнНрморм╛рм░рнНрмЯрмлрнЛрми рмУ рмЯрм╛рммрм▓рнЗрмЯ
Google Play Books рмЖрмкрнНрмХрнБ, Android рмУ iPad/iPhone рмкрм╛рмЗрмБ рмЗрмирм╖рнНрмЯрм▓рнН рмХрм░рмирнНрмдрнБред рмПрм╣рм╛ рм╕рнНрм╡рмЪрм╛рм│рм┐рмд рмнрм╛рммрнЗ рмЖрмкрмгрмЩрнНрмХ рмЖрмХрм╛рмЙрмгрнНрмЯрм░рнЗ рм╕рм┐рмЩрнНрмХ рм╣рнЛтАНрмЗрмпрм┐рмм рмПрммрмВ рмЖрмкрмг рмпрнЗрмЙрмБрмарм┐ рмерм╛рмЖрмирнНрмдрнБ рмирм╛ рмХрм╛рм╣рм┐рмБрмХрм┐ рмЖрмирм▓рм╛рмЗрмирнН рмХрм┐рморнНрммрм╛ рмЕрмлрм▓рм╛рмЗрмирнНтАНрм░рнЗ рмкрнЭрм┐рммрм╛ рмкрм╛рмЗрмБ рмЕрмирнБрмормдрм┐ рмжрнЗрммред
рм▓рм╛рмкрмЯрмк рмУ рмХрморнНрмкрнНрнЯрнБрмЯрм░
рмирм┐рмЬрм░ рмХрморнНрмкрнНрнЯрнБрмЯрм░рнНтАНрм░рнЗ рмерм┐рммрм╛ рн▒рнЗрммрнН рммрнНрм░рм╛рмЙрмЬрм░рнНтАНрмХрнБ рммрнНрнЯрммрм╣рм╛рм░ рмХрм░рм┐ Google Playрм░рнБ рмХрм┐рмгрм┐рмерм┐рммрм╛ рмЕрмбрм┐рмУрммрнБрмХрнНтАНрмХрнБ рмЖрмкрмг рм╢рнБрмгрм┐рмкрм╛рм░рм┐рммрнЗред
рмЗ-рм░рм┐рмбрм░рнН рмУ рмЕрмирнНрнЯ рмбрм┐рмнрм╛рмЗрм╕рнНтАНрмЧрнБрнЬрм┐рмХ
Kobo eReaders рмкрм░рм┐ e-ink рмбрм┐рмнрм╛рмЗрм╕рмЧрнБрмбрм╝рм┐рмХрм░рнЗ рмкрмврм╝рм┐рммрм╛ рмкрм╛рмЗрмБ, рмЖрмкрмгрмЩрнНрмХрнБ рмПрмХ рмлрм╛рмЗрм▓ рмбрм╛рмЙрмирм▓рнЛрмб рмХрм░рм┐ рмПрм╣рм╛рмХрнБ рмЖрмкрмгрмЩрнНрмХ рмбрм┐рмнрм╛рмЗрм╕рмХрнБ рмЯрнНрм░рм╛рмирнНрм╕рмлрм░ рмХрм░рм┐рммрм╛рмХрнБ рм╣рнЗрммред рм╕рморм░рнНрмерм┐рмд eReadersрмХрнБ рмлрм╛рмЗрм▓рмЧрнБрмбрм╝рм┐рмХ рмЯрнНрм░рм╛рмирнНрм╕рмлрм░ рмХрм░рм┐рммрм╛ рмкрм╛рмЗрмБ рм╕рм╣рм╛рнЯрмдрм╛ рмХрнЗрмирнНрмжрнНрм░рм░рнЗ рмерм┐рммрм╛ рм╕рммрм┐рм╢рнЗрм╖ рмирм┐рм░рнНрмжрнНрмжрнЗрм╢рм╛рммрм│рнАрмХрнБ рмЕрмирнБрм╕рм░рмг рмХрм░рмирнНрмдрнБред