介绍Hamsters是一个原生库,可以让JavaScript代码并行执行。它允许您编写高性能JavaScript。它是一个开源项目,GithubSuperstar4k+。它的目的是让你更容易的使用多线程的强大功能来实现并行编程中的性能提升!Githubhttps://github.com/austinksmith/Hamsters.js特点通用,通过跨越多个线程来最大化性能。自动数据聚合,自动将问题分解成更小的部分并与单个输出并行执行。自动排序,输出按字母或数字自动排序。传统支持。提醒,计算一次后不会再浪费cpu周期做同样的工作开源代码,100%开源代码库,根据ArtisticLicense2.0发布支持环境所有主流浏览器,IE9+现有WebworkersJavascriptshell环境ReactNativeNode.js是如何使用的?安装和使用bowerinstallWebHamsters//ORnpminstallhamsters.js1.使用2.ReactNativeimporthamstersfrom'path/to/hamsters';importWorkerfrom'...';importhamstersfrom'hamsters.js';仓鼠。初始化({工人:工人});3.Nodejsvarhamsters=require('hamsters.js');varWorker=require('...').Worker;varhamsters=require('hamsters.js');hamsters.init({Worker:Worker});4.入门首先要明白的是Hamsters.js是传接口的消息,所以在使用库调用函数的时候,我们需要给库传递params对象(消息)来表示库如何运作。varparams={bar:'foo'};hamsters.run(params,....);我们将使用的下一个参数将是我们要在一个或多个线程中执行的逻辑,我们之前传递的params对象将在我们的函数上下文中可访问。您现在应该能够了解如何确保在线程中可以访问变量和函数等不同的东西。hamsters.run(params,function(){varfoo=params.bar;});第三个也是最后一个参数将是我们的onSuccess回调方法,此函数唯一需要的参数是输出。hamsters.run(params,function(){varfoo=params.bar;},function(results){console.log(results);});回到原始的params对象,以获得库的最佳性能和可靠性,但要遵守一些约定。Hamsters.js的构建目标是并行而不是并发,尽管该库在实现并行执行的主要目标方面做得很好。由于在执行此操作时做出了各种设计决策以帮助实现这一点,其中之一是库如何在线程之间拆分数据以供执行,因此您希望在多个线程中访问的任何数组都必须包含在您的参数数组索引对象中。varparams={array:[1,2,3,4];};hamsters.run(params,function(){for(vari=0;i
